Menu

Grubość czcionki w CSS: font-weight, bold i wartości 100 do 900

Właściwość font-weight sprawia, że tekst jest pogrubiony, cienki albo coś pomiędzy. Poznaj skalę liczbową od 100 do 900, normal i bold, względne bolder i lighter oraz powód, dla którego grubość czasem nic nie zmienia.

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

Jak pogrubić tekst w CSS

font-weight ustala grubość liter. bold (to samo co 700) pogrubia tekst, a normal (to samo co 400) to zwykły tekst.

Nagłówki, <th>, <b> i <strong> są domyślnie pogrubione przez własny arkusz stylów przeglądarki, więc pogrubienie usuwa się przez font-weight: normal. Kiedy używać <b> albo <strong> w samym HTML, wyjaśnia strona pogrubienie w HTML.

Skala liczbowa: od 100 do 900

Liczby mają standardowe nazwy, których trzymają się rodziny czcionek:

WartośćPopularna nazwa
100Thin
200Extra Light
300Light
400Normal (Regular)
500Medium
600Semi Bold
700Bold
800Extra Bold
900Black (Heavy)

Poprawna jest każda liczba od 1 do 1000, więc 450 i 650 też są dozwolone. To, czy zobaczysz różnicę, zależy od czcionki: przeglądarka może narysować tylko te grubości, które czcionka naprawdę ma.

system-ui to czcionka interfejsu systemu operacyjnego, która zwykle ma wiele grubości. Jeśli każda linia powyżej wygląda jak jedna z dwóch grubości, twoja czcionka systemowa ma tylko zwykłą i pogrubioną.

Dlaczego grubość nic nie zmienia

Czcionka to zestaw plików, często po jednym na grubość. Gdy brakuje dokładnej grubości, przeglądarka wybiera najbliższą, którą ma:

  • Dla 500 próbuje 500, potem cieńszych grubości, potem grubszych.
  • Dla 600 i więcej najpierw próbuje grubszych, potem cieńszych.
  • Jeśli nie ma w ogóle pliku pogrubionego, większość przeglądarek go udaje, pogrubiając zwykłe litery (sztuczne pogrubienie).

Porównaj czcionkę z wieloma grubościami z serif, który w większości systemów ma tylko zwykłą i pogrubioną:

W kolumnie serif 300 i 500 zwykle spadają do zwykłego kroju, a 600 do pogrubionego. To odpowiedź na większość pytań "font-weight nie działa": CSS jest w porządku, a czcionce brakuje grubości. Font zmienny (jeden plik z osią grubości) płynnie rysuje każdą wartość w swoim zakresie grubości.

bolder i lighter

bolder i lighter są względne wobec grubości dziedziczonej przez element. Przechodzą do następnej grupy grubości zamiast dodawać stałą wartość:

Grubość rodzicabolder dajelighter daje
od 100 do 349400100
od 350 do 549700100
od 550 do 749900400
od 750 do 900900700

Praktyczny wzorzec: skala grubości w zmiennych

Wybierz trzy albo cztery grubości dla całej witryny i nadaj im nazwy, zamiast rozrzucać liczby:

:root {
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-bold: 700;
}
body   { font-weight: var(--weight-regular); }
button { font-weight: var(--weight-medium); }
h1, h2 { font-weight: var(--weight-bold); }

Częste błędy

  • Oczekiwanie, że każda liczba będzie wyglądać inaczej. Wyraźnie różnią się tylko grubości, które zawiera czcionka.
  • Używanie <b> do etykiety przycisku. Ostyluj przycisk przez font-weight; <b> i <strong> zostaw dla tekstu.
  • Liczba w cudzysłowie. font-weight: "700" jest niepoprawne i ignorowane. Napisz font-weight: 700.
  • Pogrubienie wszędzie dla podkreślenia. Gdy wszystko jest pogrubione, nic się nie wyróżnia. Tekst główny zostaw na 400.
  • Cienkie grubości dla małego tekstu. Grubości od 100 do 300 w małych rozmiarach są trudne do przeczytania, zwłaszcza na tłach o niskim kontraście.

Najczęściej zadawane pytania

Jak pogrubić tekst w CSS?

Użyj na elemencie font-weight: bold; albo równoważnej liczby font-weight: 700;. Żeby usunąć pogrubienie z nagłówka albo <strong>, ustaw font-weight: normal; (400).

Jakie są wartości font-weight?

Liczby od 1 do 1000, zwykle zapisywane w setkach: 100 thin, 200 extra light, 300 light, 400 normal, 500 medium, 600 semibold, 700 bold, 800 extra bold, 900 black. Słowa kluczowe normal i bold to 400 i 700, a bolder i lighter są względne wobec rodzica.

Czy font-weight bold to to samo co 700?

Tak. bold daje 700, a normal daje 400, więc obie formy renderują się identycznie.

Dlaczego font-weight 500 albo 600 wygląda tak samo jak normal albo bold?

Czcionka nie ma tej grubości. Gdy czcionka ma tylko 400 i 700, przeglądarka wybiera najbliższy dostępny plik, więc 500 wygląda jak 400, a 600 jak 700. Wczytaj czcionkę z większą liczbą grubości albo font zmienny.

Używać font-weight w CSS czy znacznika <b>?

Używaj <strong>, gdy słowa są ważne, <b> dla tekstu, który jest tylko inaczej ostylowany, a font-weight do projektu wizualnego, takiego jak przyciski, etykiety i nagłówki. Znaczniki niosą znaczenie; właściwość to tylko wygląd.

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ