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 garantiert kontrastierende Farbe zurück.
contrast-color()
macht es einfach, zum Beispiel eine Textfarbe anzugeben und automatisch eine kontrastierende Hintergrundfarbe zu erzeugen oder umgekehrt. Es vermeidet die Notwendigkeit, Paare von Hintergrund- und Textfarben zu pflegen.
Syntax
contrast-color(red)
contrast-color(var(--backgroundColor))
Parameter
Rückgabewert
Ein <named-color>
entweder white
oder black
.
Beschreibung
Die contrast-color()
Funktion gibt je nach größtem Kontrast zum Eingabefarbwert entweder den Wert white
oder black
zurück. Haben sowohl white
als auch black
den gleichen Kontrast zum Eingabewert, wird white
zurückgegeben.
Warnung:
Es gibt keine Garantie, dass die mit der Funktion contrast-color()
zurückgegebenen Werte ein barrierefreies Ergebnis liefern. Mitteltönige Hintergrundfarben bieten in der Regel nicht genug Kontrast. Es wird daher empfohlen, helle oder dunkle Farben mit der Funktion contrast-color()
zu verwenden.
Beispiele
Kontrastierender Text für einen Button
Im folgenden Beispiel wendet der Browser automatisch eine kontrastierende Farbe auf den Text des Absenden-<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 von Licht- und Dunkelmodus
Im folgenden Beispiel wird die prefers-color-scheme
Media Query verwendet, um eine Hintergrundfarbe basierend auf Betriebssystem- oder Browser-Farbschemaeinstellungen zu setzen. Die contrast-color()
Funktion wird verwendet, um die Textfarbe automatisch zu setzen.
Versuchen Sie, die Dunkelmodus-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
Specification |
---|
CSS Color Module Level 5 # contrast-color |
Browser-Kompatibilität
Siehe auch
contrast()
- CSS-Farben Modul
- CSS Custom Properties und
var()
prefers-contrast
undprefers-color-scheme
@media
Features- WCAG: Farbkontrast
- Wie der Browser eine kontrastierende Farbe in CSS auswählt auf webkit.org (2025)
- WebAIM Contrast Checker auf webaim.org (2025)