Menu

Kolor czcionki w HTML: jak zmienić kolor tekstu w CSS

Znacznik <font color> jest przestarzały; kolor tekstu w HTML ustawia się właściwością CSS color. Dowiedz się, jak pokolorować całą stronę, jedno słowo, link albo nagłówek, kolorami nazwanymi, hex i rgb, i jak zachować czytelność tekstu.

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

Jak zmienić kolor tekstu w HTML

Użyj właściwości CSS color. Ustala kolor tekstu elementu, a każdy element w jego wnętrzu dziedziczy ten sam kolor, chyba że ustawi własny.

Właściwość nazywa się color, a nie font-color ani text-color. Tych nazw nie ma w CSS i są po cichu ignorowane.

Dlaczego nie znacznik font

Stare poradniki pokazują <font color="red">. Ten znacznik usunięto z HTML lata temu: walidatory oznaczają go jako błąd, a do tego miesza stylizację ze strukturą, więc zmiana koloru oznacza ręczną edycję każdego znacznika. Przeglądarki nadal go rysują dla zgodności i tylko dlatego wydaje się, że działa.

<!-- obsolete -->
<font color="red">Warning</font>

<!-- use this -->
<span style="color: red;">Warning</span>

<!-- or better, a class you can change in one place -->
<span class="warning">Warning</span>

Sposoby zapisu koloru

color przyjmuje każdy format koloru w CSS. Cztery najczęstsze:

FormatPrzykładUwagi
Nazwacolor: tomato;148 nazwanych kolorów, wygodnych do szybkich testów
Hexcolor: #2563eb;Najczęstszy w plikach projektowych
rgb()color: rgb(37 99 235);Czerwony, zielony i niebieski od 0 do 255
hsl()color: hsl(221 83% 53%);Odcień, nasycenie, jasność: łatwo rozjaśnić lub przyciemnić

Hex, rgb() i hsl() mogą mieć kanał alfa dla półprzezroczystego tekstu, na przykład #2563eb80 albo rgb(37 99 235 / 50%). Strona o kolorach CSS wyjaśnia każdy format.

Kolorowanie całej strony, nagłówka lub sekcji

Ustaw kolor raz na body i pozwól dziedziczeniu zrobić resztę, a potem nadpisuj tam, gdzie trzeba:

Łagodna, prawie czarna barwa, taka jak #111827 albo #374151, na białym tle jest przyjemniejsza dla oczu niż czysty #000000, a nadal odbiera się ją jako czerń.

Kolory linków

Linki są wyjątkiem od dziedziczenia: przeglądarka nadaje im własny niebieski (i fioletowy po odwiedzeniu), więc kolor na rodzicu do nich nie dociera. Ustaw go na linku albo każ linkowi dziedziczyć:

:hover, :visited i :focus-visible pozwalają zmieniać kolor w zależności od stanu; omawia je strona o hover. Gdy link ma ten sam kolor co otaczający tekst, zachowaj jego podkreślenie, żeby nadal było widać, że to link.

Zadbaj o czytelność: kontrast

Kolor tekstu to tylko połowa pary; drugą połową jest tło. WCAG wymaga współczynnika kontrastu co najmniej 4.5:1 dla zwykłego tekstu i 3:1 dla dużego tekstu (około 24px albo 19px pogrubione).

Jasnoszary tekst w stylu placeholdera to najczęstszy problem. Narzędzia deweloperskie Chrome i Firefoksa pokazują współczynnik kontrastu, gdy sprawdzasz kolor tekstu.

currentColor: ponowne użycie koloru tekstu

currentColor to słowo kluczowe równe wartości color elementu. Mogą go używać obramowania, obwódki i ikony SVG wstawione w kod, więc jedna zmiana color zmienia kolor tekstu i jego ozdób naraz:

Częste błędy

  • Pisanie font-color albo text-color. Właściwość to color.
  • Używanie znacznika <font>. Jest przestarzały; użyj CSS.
  • Oczekiwanie, że linki odziedziczą kolor. Ustaw a { color: ... } albo color: inherit.
  • Kolor jako jedyny sygnał. "Pola na czerwono są wymagane" nie działa dla czytelników, którzy nie rozróżniają czerwieni. Dodaj tekst albo ikonę.
  • Szary tekst o niskim kontraście. Sprawdź współczynnik: 4.5:1 lub więcej dla tekstu głównego.
  • Rozjaśnianie tekstu przez opacity. Wygasza cały element, łącznie z tłem i dziećmi. Zamiast tego użyj jaśniejszego koloru albo koloru z kanałem alfa.

Najczęściej zadawane pytania

Jak zmienić kolor czcionki w HTML?

Użyj właściwości CSS color, w arkuszu stylów albo w atrybucie style: <p style="color: #2563eb;">Blue text</p>. Stary znacznik <font color> jest przestarzały.

Czy znacznik <font> jest nadal obsługiwany?

Przeglądarki nadal go rysują, żeby bardzo stare strony dalej działały, ale w HTML jest przestarzały, a walidatory zgłaszają go jako błąd. Zamiast niego używaj CSS color.

Jak zmienić kolor jednego słowa?

Otocz słowo znacznikiem <span> i nadaj mu kolor: This is <span style="color: #dc2626;">red</span>. Użyj <strong> albo <em> zamiast <span>, jeśli słowo jest też ważne lub zaakcentowane.

Dlaczego link nie zmienia koloru, gdy ustawiam color na rodzicu?

Linki mają własny kolor z arkusza stylów przeglądarki, więc nie dziedziczą koloru rodzica. Ustaw go na samym linku (a { color: #2563eb; }) albo użyj a { color: inherit; }, żeby podążał za rodzicem.

W CSS pisze się font-color czy color?

Pisze się color. Nie istnieje właściwość font-color ani text-color; przeglądarka je ignoruje.

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ