Одиниці розміру в CSS (px rem em vh)

Для типографіки інтерфейсу віддавайте перевагу rem; px використовуйте лише для тонких ліній і деталей, що потребують піксельної точності.

Оновлено:

ОдиницяВідносно чогоТипове застосування
pxDevice pixel (CSS pixel)Borders, precise icons
remRoot element font-sizeType scale, spacing
emParent font-sizeComponent-local sizing
%Parent propertyWidths, flexible layouts
vw1% viewport widthFull-bleed sections
vh1% viewport heightHero height (mind mobile UI)
vmin / vmaxSmaller/larger viewport sideSquare-ish responsive sizing
chWidth of “0” glyphCode blocks, monospace fields
exx-height of fontRare fine typography
svh / lvh / dvhSmall/large/dynamic viewportMobile browser chrome-safe height

Примітки

Часті запитання

Скільки пікселів в 1rem?
1rem дорівнює розміру шрифту кореневого елемента, тож за замовчуванням браузера 16 px це буде 16 px.
У чому різниця між em і rem?
rem завжди відносний до розміру шрифту кореневого елемента, а em — до успадкованого розміру шрифту поточного елемента.
Чому 100vh не працює на мобільних?
Мобільні браузери можуть показувати або ховати панелі інтерфейсу, тож 100vh може бути вищим за видиму область; за підтримки використовуйте dvh або svh.