contrast-color() CSS-Funktion
Baseline
2026
Neu verfügbar
Seit April 2026 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Die contrast-color() CSS Funktion nimmt einen color Wert und gibt eine kontrastreiche Farbe zurück. Die Funktion stellt üblicherweise den WCAG AA Mindestkontrast sicher. 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. Sie vermeidet die Notwendigkeit, Hintergrund-Text-Farbpaare beizubehalten.
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, abhängig davon, 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 ist nicht in der Lage, in allen Fällen klar lesbaren Text zu erzeugen. Mitteltönige Hintergrundfarben bieten generell nicht genug Kontrast zu entweder schwarzem oder weißem Vordergrund. Zum Beispiel erzeugt contrast-color() auf einem königsblauem (#2277d3) Hintergrund schwarzen Text, der für kleinen Text nicht lesbar ist. Daher wird empfohlen, mit der contrast-color() Funktion helle oder dunkle Farben zu verwenden.
Beispiele
>Kontrastierender Text für einen Button
Im folgenden Beispiel wendet der Browser automatisch die ausgewählte Farbe auf den Hintergrund des "Button" <button> an und die kontrastreiche Farbe (schwarz oder weiß) auf dessen Text.
:root {
--button-color: lightblue;
}
button {
background-color: var(--button-color);
/* Set contrasting text color automatically */
color: contrast-color(var(--button-color));
}
Verwendung in Light- und Dark-Mode
Im folgenden Beispiel wird die prefers-color-scheme Media Query verwendet, um eine Hintergrundfarbe basierend auf den Farbeinstellung des Betriebssystems oder Browsers festzulegen. Die contrast-color() Funktion wird verwendet, um die Textfarbe automatisch festzulegen.
Versuchen Sie, die Dark-Mode-Einstellung des Browsers oder 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
| Spezifikation |
|---|
| 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@mediaFeatures- WCAG: Farbkontrast
- Anleitung, wie der Browser eine kontrastreiche Farbe in CSS auswählt auf webkit.org (2025)
- WebAIM Kontrast Checker auf webaim.org (2025)