Menu

HTML Schriftfarbe: Textfarbe mit CSS ändern

Der Tag <font color> ist veraltet; die Textfarbe in HTML legst du mit der CSS-Eigenschaft color fest. Hier lernst du, wie du eine ganze Seite, ein einzelnes Wort, einen Link oder eine Überschrift einfärbst, mit Farbnamen, Hex und rgb, und wie Text lesbar bleibt.

Diese Seite enthält ausführbare Editoren - bearbeiten, ausführen und Ausgabe sofort sehen.

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:

FormatBeispielHinweise
Namecolor: tomato;148 Farbnamen, praktisch für schnelle Tests
Hexcolor: #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-color oder text-color schreiben. Die Eigenschaft heißt color.
  • Den Tag <font> verwenden. Er ist veraltet; nimm CSS.
  • Erwarten, dass Links erben. Setz a { color: ... } oder color: 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.
  • opacity nutzen, 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.

Coddy programming languages illustration

Lerne mit Coddy zu programmieren

LOS GEHT'S