Jednostki em
i rem
to względne jednostki miary w CSS, które pozwalają na elastyczne i responsywne projektowanie. Oto przewodnik, jak ich używać:
1. Jednostka em
- Definicja:
em
to jednostka względna, która jest obliczana na podstawie rozmiaru czcionki elementu rodzica. - Wzór: 1
em
= rozmiar czcionki elementu rodzica. - Przykład
css:body{ font-size: 16px; /* Domyślny rozmiar czcionki */ } p { font-size: 1.2em; /* 16px * 1.2 = 19.2px */ }
2. Jednostka rem
- Definicja:
rem
to jednostka względna, która jest obliczana na podstawie rozmiaru czcionki elementuroot
(najczęściej<html>
). - Wzór: 1
rem
= rozmiar czcionki elementuroot
. - Przykład:
css:html { font-size: 16px; /* Domyślny rozmiar czcionki dla całej strony */ } body { font-size: 1rem; /* 16px */ }
3. Różnice między em
a rem
em
:- Względne do elementu rodzica.
- Może prowadzić do nieoczekiwanych wyników w drzewie DOM.
- Często używane do rozmiarów czcionek i odstępów.
rem
:- Względne do elementu
root
. - Bardziej przewidywalne i łatwiejsze do zarządzania.
- Dobrze nadaje się do definiowania wartości bazowych (np. rozmiaru czcionki, odstępów).
- Względne do elementu
4. Przykłady użycia
Przykład 1: Rozmiar czcionki
css
/* Definicja bazowa */
html {
font-size: 16px;
}
/* Użycie `rem` */
body {
font-size: 1.5rem; /* 16px * 1.5 = 24px */
}
/* Użycie `em` */
p {
font-size: 0.9em; /* 24px * 0.9 = 21.6px */
}
Przykład 2: Odstępy
css
/* Definicja bazowa */
html {
font-size: 16px;
}
/* Użycie `rem` */
.button {
padding: 1rem 2rem; /* 16px i 32px */
}
/* Użycie `em` */
.container {
padding: 0.5em 1em; /* Zależne od rozmiaru czcionki elementu rodzica */
}
5. Najlepsze praktyki
- Używaj
rem
dla wartości bazowych: Definiuj rozmiary czcionek, odstępy i inne wartości bazowe wrem
, aby zapewnić spójność i łatwość skalowania. - Używaj
em
dla zagnieżdżonych elementów: Używajem
dla elementów zagnieżdżonych, gdzie rozmiar powinien być względny do elementu rodzica (np. czcionki w nagłówkach). - Unikaj mieszania
em
irem
: Staraj się używać jednej jednostki względnej w danym kontekście, aby uniknąć nieoczekiwanych wyników.
6. Wsparcie przeglądarek
em
irem
są wspierane we wszystkich nowoczesnych przeglądarkach.- Nie ma potrzeby dodawania prefiksów
-webkit-
,-moz-
itp.
7. Podsumowanie
em
irem
to potężne narzędzia do tworzenia elastycznych i responsywnych układów.rem
jest bardziej przewidywalne i nadaje się do wartości bazowych.em
jest względne do elementu rodzica i często używane do czcionek.
Używaj ich mądrze, aby tworzyć strony, które dobrze wyglądają i działają na różnych urządzeniach i rozdzielczościach!