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

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

Parameter

color

Jeder gültige <color>-Wert.

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.

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

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