contrast-color()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die contrast-color() CSS Funktion nimmt einen Farbwert und gibt eine kontrastierende Farbe zurück. Die Funktion sorgt in der Regel für den WCAG AA Mindestkontrast. Die Browser können unterschiedliche und bessere Algorithmen verwenden.
contrast-color() erleichtert es zum Beispiel, eine Textfarbe festzulegen und automatisch eine kontrastierende Hintergrundfarbe zu erzeugen oder umgekehrt. Es entfällt die Notwendigkeit, Hintergrund-Textfarbpaare zu pflegen.
Syntax
contrast-color(red)
contrast-color(var(--backgroundColor))
Parameter
Rückgabewert
Eine <named-color> von entweder white oder black.
Beschreibung
Die contrast-color() Funktion gibt einen Wert von white oder black zurück, je nachdem, welcher Wert den größten Kontrast zur Eingabefarbe hat. Wenn sowohl white als auch black den gleichen Kontrast zur Eingabefarbe haben, wird white zurückgegeben.
Warnung:
WCAG AA (4.5:1) Kontrast kann in allen Fällen keinen klar lesbaren Text erzeugen. Mittelton-Hintergrundfarben bieten im Allgemeinen nicht genug Kontrast zu einem schwarzen oder weißen Vordergrund. Zum Beispiel erzeugt contrast-color() auf einem königsblauen (#2277d3) Hintergrund schwarzen Text, der für kleinen Text nicht lesbar ist. Es wird daher empfohlen, helle oder dunkle Farben mit der contrast-color() Funktion zu verwenden.
Beispiele
>Kontrastreicher Text für einen Button
Im folgenden Beispiel wendet der Browser automatisch eine kontrastierende Farbe auf den Text des Absenden-<button> an, wenn Sie die Hintergrundfarbe ändern.
:root {
--button-color: lightblue;
}
button {
background-color: var(--button-color);
/* Set contrasting text color automatically */
color: contrast-color(var(--button-color));
}
Verwendung von Licht- und Dunkelmodus
Im folgenden Beispiel wird die prefers-color-scheme Media Query verwendet, um eine Hintergrundfarbe basierend auf den Einstellungen des Betriebssystems oder des Browser-Farbschemas festzulegen. Die contrast-color() Funktion wird verwendet, um automatisch die Textfarbe festzulegen.
Versuchen Sie, die Dunkelmodus-Einstellung des Browsers oder des Betriebssystems zu ändern, um den Effekt zu sehen.
:root {
--background-color: navy;
}
@media (prefers-color-scheme: light) {
:root {
--background-color: wheat;
}
}
body,
a {
background-color: var(--background-color);
color: contrast-color(var(--background-color));
}
Spezifikationen
| Specification |
|---|
| CSS Color Module Level 5> # contrast-color> |
Browser-Kompatibilität
Loading…
Siehe auch
contrast()- CSS Farben Modul
- CSS benutzerdefinierte Eigenschaften und
var() prefers-contrastundprefers-color-scheme@media-Funktionen- WCAG: Farbkontrast
- Anleitung, wie der Browser eine kontrastierende Farbe in CSS auswählt auf webkit.org (2025)
- WebAIM Kontrastprüfung auf webaim.org (2025)