Ответ
em и rem — относительные единицы, а px — абсолютная.
- px (пиксели) — фиксированный размер, не зависит от других настроек.
.element { font-size: 16px; } /* всегда 16px */
- em — зависит от
font-sizeродителя. Если родитель имеетfont-size: 20px, то1em = 20px.
.parent { font-size: 20px; }
.child { font-size: 1.5em; } /* 30px (1.5 × 20px) */
- rem (root em) — зависит от
font-sizeкорневого элемента (<html>). По умолчанию1rem = 16px.
html { font-size: 10px; }
.element { font-size: 2rem; } /* 20px (2 × 10px) */
Когда использовать:
px— для точных размеров (например, границы).em— если нужно масштабирование относительно родителя.rem— для гибкого и предсказуемого масштабирования всей страницы.