So änderst du die Textfarbe in HTML
Nimm die CSS-Eigenschaft color. Sie legt die Farbe des Textes eines Elements fest, und jedes Element darin erbt dieselbe Farbe, außer es setzt eine eigene.
Die Eigenschaft heißt color, nicht font-color oder text-color. Diese Namen gibt es in CSS nicht, und sie werden stillschweigend ignoriert.
Warum nicht der font-Tag
Alte Tutorials zeigen <font color="red">. Dieser Tag wurde schon vor Jahren aus HTML entfernt: Validatoren melden ihn als Fehler, und er mischt Styling ins Markup, sodass du für eine Farbänderung jeden Tag von Hand bearbeiten musst. Browser stellen ihn aus Kompatibilitätsgründen noch dar, und nur deshalb scheint er zu funktionieren.
<!-- 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>
Wie du die Farbe schreiben kannst
color akzeptiert jedes CSS-Farbformat. Die vier häufigsten:
| Format | Beispiel | Hinweise |
|---|---|---|
| Name | color: tomato; | 148 Farbnamen, praktisch für schnelle Tests |
| Hex | color: #2563eb; | Am häufigsten in Design-Dateien |
| rgb() | color: rgb(37 99 235); | Rot, Grün und Blau von 0 bis 255 |
| hsl() | color: hsl(221 83% 53%); | Farbton, Sättigung, Helligkeit: leicht heller oder dunkler zu machen |
Hex, rgb() und hsl() können einen Alphakanal für halbtransparenten Text haben, etwa #2563eb80 oder rgb(37 99 235 / 50%). Die Seite zu CSS Farben erklärt jedes Format.
Eine ganze Seite, eine Überschrift oder einen Abschnitt einfärben
Setz die Farbe einmal an body, lass die Vererbung den Rest erledigen und überschreib sie, wo nötig:
Ein weiches Fast-Schwarz wie #111827 oder #374151 auf Weiß schont die Augen mehr als reines #000000 und wirkt trotzdem schwarz.
Linkfarben
Links sind die Ausnahme von der Vererbung: Der Browser gibt ihnen ein eigenes Blau (und nach dem Besuch Lila), also erreicht sie eine Farbe am Elternelement nicht. Setz sie am Link oder sag dem Link, dass er erben soll:
Mit :hover, :visited und :focus-visible änderst du die Farbe je nach Zustand; die Seite zu hover behandelt sie. Hat ein Link dieselbe Farbe wie der Text drumherum, behalte seine Unterstreichung, damit er als Link erkennbar bleibt.
Text lesbar halten: Kontrast
Die Textfarbe ist nur die Hälfte des Paares; der Hintergrund ist die andere. Die WCAG verlangen ein Kontrastverhältnis von mindestens 4,5:1 für normalen Text und 3:1 für großen Text (etwa 24px oder 19px fett).
Hellgrauer Text im Stil eines Platzhalters ist der häufigste Verstoß. Die Entwicklertools von Chrome und Firefox zeigen das Kontrastverhältnis an, wenn du eine Textfarbe untersuchst.
currentColor: die Textfarbe wiederverwenden
currentColor ist ein Schlüsselwort, das der color des Elements entspricht. Rahmen, Outlines und Inline-SVG-Icons können es verwenden, sodass eine einzige Änderung an color den Text und seine Dekoration gemeinsam umfärbt:
Häufige Fehler
font-colorodertext-colorschreiben. Die Eigenschaft heißtcolor.- Den Tag
<font>verwenden. Er ist veraltet; nimm CSS. - Erwarten, dass Links erben. Setz
a { color: ... }odercolor: inherit. - Farbe als einziges Signal. „Rote Felder sind Pflichtfelder“ funktioniert nicht für Leser, die Rot nicht unterscheiden können. Ergänze Text oder ein Icon.
- Grauer Text mit wenig Kontrast. Prüf das Verhältnis: 4,5:1 oder mehr für Fließtext.
opacitynutzen, um Text heller zu machen. Das blendet das ganze Element aus, Hintergrund und Kinder inklusive. Nimm stattdessen eine hellere Farbe oder eine Farbe mit Alphakanal.
Häufig gestellte Fragen
Wie ändere ich die Schriftfarbe in HTML?
Mit der CSS-Eigenschaft color, in einem Stylesheet oder einem style-Attribut: <p style="color: #2563eb;">Blue text</p>. Der alte Tag <font color> ist veraltet.
Wird der Tag <font> noch unterstützt?
Browser stellen ihn noch dar, damit sehr alte Seiten weiter funktionieren, aber er ist in HTML veraltet, und Validatoren melden ihn als Fehler. Nimm stattdessen CSS color.
Wie ändere ich die Farbe eines einzelnen Wortes?
Pack das Wort in ein <span> und gib ihm eine Farbe: This is <span style="color: #dc2626;">red</span>. Nimm <strong> oder <em> statt <span>, wenn das Wort auch wichtig oder betont ist.
Warum ändert mein Link die Farbe nicht, wenn ich color am Elternelement setze?
Links haben ihre eigene Farbe aus dem Stylesheet des Browsers und erben deshalb nicht die des Elternelements. Setz sie am Link selbst (a { color: #2563eb; }) oder nimm a { color: inherit; }, damit er dem Elternelement folgt.
Heißt es in CSS font-color oder color?
Es heißt color. Eine Eigenschaft font-color oder text-color gibt es nicht; der Browser ignoriert sie.