contrast-color()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die contrast-color() CSS-Funktion nimmt einen color-Wert und gibt eine kontrastreiche Farbe zurück. Die Funktion stellt in der Regel den WCAG AA Mindestkontrast sicher. Die Browser können unterschiedliche und bessere Algorithmen verwenden.
Die contrast-color()-Funktion ermöglicht es, eine Textfarbe anzugeben und automatisch eine kontrastreiche Hintergrundfarbe zu generieren oder umgekehrt. So wird vermieden, Hintergrund- und Textfarbpaare manuell zu pflegen.
Syntax
contrast-color(red)
contrast-color(var(--backgroundColor))
Parameter
Rückgabewert
Eine <named-color> 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 white und black denselben Kontrast zur Eingabefarbe haben, wird white zurückgegeben.
Warnung:
WCAG AA (4.5:1) Kontrast ist nicht in der Lage, in allen Fällen klar lesbaren Text zu erzeugen. Mittlere Hintergrundfarben bieten im Allgemeinen nicht genügend Kontrast zu entweder schwarzen oder weißen Vordergrundfarben. 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
>Kontrastierender Text für einen Button
Im folgenden Beispiel wendet der Browser automatisch eine kontrastierende Farbe auf den Text des Absende-<button> an, wenn Sie dessen Hintergrundfarbe ändern.
:root {
--button-color: lightblue;
}
button {
background-color: var(--button-color);
/* Set contrasting text color automatically */
color: contrast-color(var(--button-color));
}
Verwendung in hellem und dunklem Modus
Im folgenden Beispiel wird die prefers-color-scheme-Media-Query verwendet, um eine Hintergrundfarbe basierend auf den Einstellungen des Betriebssystems oder Browsers festzulegen. Die contrast-color()-Funktion wird verwendet, um automatisch die Textfarbe festzulegen.
Versuchen Sie, die Browsereinstellungen oder die OS-Dunkelmodus-Einstellung 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
Siehe auch
contrast()- CSS-Farben-Modul
- CSS-Benutzerdefinierte Eigenschaften und
var() prefers-contrastundprefers-color-scheme@media-Funktionen- WCAG: Farbkontrast
- Anleitung zur Auswahl einer kontrastierenden Farbe im CSS durch den Browser auf webkit.org (2025)
- WebAIM Contrast Checker auf webaim.org (2025)