Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 kontrastierende Farbe zurück. Diese Funktion stellt in der Regel den WCAG AA Mindestkontrast sicher. Die Browser könnten unterschiedlich und mit besseren Algorithmen arbeiten.

contrast-color() macht es einfach, z. B. eine Textfarbe anzugeben und automatisch eine kontrastierende Hintergrundfarbe zu generieren oder umgekehrt. Dies vermeidet die Notwendigkeit, Hintergrund-Text-Farbpaare zu pflegen.

Syntax

css
contrast-color(red)
contrast-color(var(--backgroundColor))

Parameter

color

Jeder gültige <color>-Wert.

Rückgabewert

Eine <named-color> von entweder white oder black.

Beschreibung

Die Funktion contrast-color() 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 ist nicht in der Lage, in allen Fällen gut lesbaren Text zu erzeugen. Mitteltonige Hintergrundfarben bieten in der Regel nicht genug Kontrast zu entweder 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 <button>-Elements an, wenn Sie seine Hintergrundfarbe ändern.

css
:root {
  --button-color: lightblue;
}

button {
  background-color: var(--button-color);

  /* Set contrasting text color automatically */
  color: contrast-color(var(--button-color));
}

Nutzung im hellen und dunklen Modus

Im folgenden Beispiel wird die prefers-color-scheme Media Query verwendet, um eine Hintergrundfarbe basierend auf den Einstellungen des Betriebssystems oder Browserschema zu setzen. Die contrast-color()-Funktion wird verwendet, um die Textfarbe automatisch zu setzen.

Versuchen Sie, die Einstellungen des Browsers oder des Betriebssystems für den Dunkelmodus zu ändern, um den Effekt zu sehen.

css
: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