Menu

Rozmiar czcionki w CSS: px, rem, em, słowa kluczowe i przykłady

Właściwość font-size ustala, jak duży jest tekst. Poznaj jednostki, które przyjmuje (px, rem, em, %, słowa kluczowe, vw), sposób zmiany rozmiaru czcionki w HTML, powód, dla którego rem to bezpieczny wybór, i to, jak rozmiary w em się mnożą.

Na tej stronie są działające edytory: edytuj, uruchamiaj i od razu zobacz wynik.

Jak ustawić rozmiar czcionki w CSS

Właściwość font-size ustala rozmiar tekstu. Ustaw ją na dowolnym elemencie, a każdy fragment tekstu w nim odziedziczy ten rozmiar, chyba że dziecko ustawi własny.

Żeby zmienić rozmiar czcionki w HTML, nadal używasz CSS. Dodaj atrybut style (<p style="font-size: 20px;">) albo regułę w arkuszu stylów. Znacznik <font size="5"> z lat 90. jest przestarzały i nie ma miejsca na nowoczesnej stronie.

Jednostki, które przyjmuje font-size

WartośćPrzykładWzględem czego
px16pxNiczego: stały rozmiar
rem1.25remRozmiaru czcionki elementu głównego <html> (domyślnie 16px)
em1.2emRozmiaru czcionki elementu rodzica
%120%Rozmiaru czcionki rodzica, jak em (120% to 1.2em)
Słowo kluczowelargeGotowej skali wokół domyślnego medium
Względne słowo kluczowesmaller, largerO jeden stopień od rozmiaru rodzica
Obszar widoku4vwSzerokości obszaru widoku (4% z niej)
Funkcjaclamp(1rem, 4vw, 2rem)Płynnie między minimum a maksimum

Wpisz wartość i zobacz rozmiar obliczony przez przeglądarkę:

Wypróbuj 20px, 2em, 150%, x-large, smaller i 5vw. Niepoprawna wartość, na przykład big, jest ignorowana, a tekst zachowuje ostatni poprawny rozmiar.

rem a em: różnica, która potrafi zaskoczyć

rem zawsze patrzy na element główny, więc 1.2rem ma ten sam rozmiar, gdziekolwiek się pojawi. em patrzy na rodzica, więc przy zagnieżdżaniu elementów rozmiary się mnożą:

Najbardziej wewnętrzne pudełko em ma 16 × 1.2 × 1.2 × 1.2 = 27.648px. Najbardziej wewnętrzne pudełko rem wciąż ma 19.2px. To mnożenie przydaje się w komponencie, którego części mają skalować się razem, a wszędzie indziej jest niespodzianką. Wszystkie jednostki długości porównuje strona o jednostkach.

Słowa kluczowe: od xx-small do xx-large

Bezwzględne słowa kluczowe odpowiadają stałej skali wokół medium, które jest równe domyślnemu rozmiarowi użytkownika (16px, chyba że go zmienił):

Przy domyślnych 16px small to 13px, large to 18px, x-large to 24px, a xx-large to 32px. Słowa kluczowe wystarczą do szybkiej pracy, ale system projektowy zwykle potrzebuje własnej skali w rem.

Płynny rozmiar czcionki z clamp()

Nagłówek, który ma rosnąć razem z ekranem, ale nigdy nie być za mały ani za duży, to jedno wywołanie clamp(): minimum, preferowany rozmiar, który się skaluje, i maksimum.

W podglądzie o szerokości 800px 5vw to 40px, co mieści się między 24px a 48px, więc ta wartość wygrywa. Płynną typografię szczegółowo omawia strona o clamp.

Rozmiar bazowy dla całej strony

Ustaw rozmiar raz na body (albo html), a wszystko inne ustawiaj względem niego:

html { font-size: 100%; }  /* respects the user's setting, usually 16px */
body { font-size: 1rem; }
h1   { font-size: 2.25rem; }
small, .caption { font-size: 0.875rem; }

Unikaj sztuczek z html { font-size: 62.5%; }, chyba że potem każdy rozmiar na stronie ustawiasz w rem, i nigdy nie ustawiaj stałego rozmiaru w px na html: nadpisuje on rozmiar czcionki wybrany przez czytelnika w przeglądarce, od którego niektórzy zależą, żeby w ogóle móc czytać.

Uwagi o dostępności

  • Tekst główny o rozmiarze 16px lub większym to dobre minimum do czytania na ekranie.
  • Rozmiary w rem i em podążają za domyślnym ustawieniem czcionki użytkownika. Rozmiary w px podążają za powiększeniem strony, ale nie za tym ustawieniem.
  • Na iPhonie Safari powiększa stronę, gdy aktywujesz pole z rozmiarem czcionki poniżej 16px. Nadaj polom formularza font-size: 1rem lub więcej, żeby tego uniknąć.

Częste błędy

  • Używanie znacznika <font>. Jest przestarzały. Użyj właściwości font-size.
  • Zagnieżdżone rozmiary w em, które rosną albo maleją bez kontroli. Używaj rem, chyba że chcesz mnożenia.
  • Stały rozmiar w px na html. Nadpisuje własne ustawienie czcionki czytelnika.
  • Zapominanie, że nagłówki mają już rozmiar. <h1> ma domyślnie 2em, więc potrzebujesz h1 { font-size: 1em; }, jeśli ma mieć rozmiar tekstu głównego.
  • Same jednostki obszaru widoku. font-size: 3vw staje się nieczytelne na telefonie i ogromne na szerokim monitorze. Umieść to w clamp().

Najczęściej zadawane pytania

Jak zmienić rozmiar czcionki w CSS?

Ustaw na elemencie właściwość font-size: p { font-size: 18px; }. Przyjmuje długości (px, rem, em), procenty i słowa kluczowe, takie jak large.

Jak zmienić rozmiar czcionki w HTML?

Za pomocą CSS, w arkuszu stylów albo w atrybucie style: <p style="font-size: 20px;">. Stary znacznik <font size="5"> jest w HTML5 przestarzały i nie należy go używać.

Jaki jest domyślny rozmiar czcionki w przeglądarkach?

16px dla tekstu body, chyba że użytkownik zmienił go w ustawieniach przeglądarki. Tyle domyślnie wynoszą 1rem i słowo kluczowe medium.

Używać px, em czy rem do rozmiaru czcionki?

Do większości tekstu używaj rem: skaluje się z ustawieniem czcionki w przeglądarce użytkownika i nie mnoży się. Używaj em, gdy rozmiar ma podążać za rodzicem, na przykład dla ikony w przycisku. px nie podąża za domyślnym rozmiarem czcionki ustawionym przez czytelnika w przeglądarce, więc unikaj go dla tekstu głównego.

Dlaczego mój rozmiar czcionki w em ciągle rośnie?

Bo em jest względne wobec rozmiaru czcionki rodzica, więc zagnieżdżone elementy się mnożą: 1.2em wewnątrz 1.2em to 1.44 raza rozmiar bazowy. Przejdź na rem, które zawsze jest względne wobec elementu głównego.

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ