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.

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

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 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.

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

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