Sobes.tech
Junior

Каква е разликата между единиците за измерване em и rem?

sobes.tech AI

Отговор от AI

Единиците em са относителни към размера на шрифта на родителския елемент. Ако размерът на шрифта на родителя не е зададен явно, се използва шрифтът на неговия собствен родител и така нататък до кореновия елемент (html).

Единиците rem са относителни към размера на шрифта само на кореновия елемент (html). Това ги прави по-предсказуеми и улеснява управлението на шрифтовете и размерите на елементите на страницата.

Пример:

HTML:

<div class="parent">
  Текст на родителя
  <div class="child-em">
    Текст на детето em
  </div>
  <div class="child-rem">
    Текст на детето rem
  </div>
</div>

CSS:

.parent {
  font-size: 16px; /* Основен размер на шрифта за родителя */
}

.child-em {
  font-size: 1.5em; /* Размер на шрифта 1.5 * 16px = 24px */
}

html {
  font-size: 10px; /* Основен размер на шрифта за кореновия елемент */
}

.child-rem {
  font-size: 2rem; /* Размер на шрифта 2 * 10px = 20px */
}

Сравнителна таблица:

Единица Относно какво се измерва Предсказуемост Използване
em Размер на шрифта на родителския елемент По-малко предсказуемо, зависи от контекста За отстъпи и размери на елементи, зависещи от текста вътре в тях
rem Размер на шрифта на кореновия елемент (html) По-предсказуемо За глобално мащабиране на шрифтове, отстъпи и размери на елементи на страницата