color-scheme
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Januar 2022.
Die color-scheme CSS-Eigenschaft ermöglicht es einem Element anzugeben, in welchen Farbschemata es komfortabel gerendert werden kann. Benutzeragenten ändern die folgenden Aspekte des UI-Chroms, um dem verwendeten Farbschema zu entsprechen:
- Die Farbe der Canvas-Oberfläche.
- Die Standardfarben von Scrollleisten und anderen UI-Interaktionselementen.
- Die Standardfarben von Formularelementen.
- Die Standardfarben anderer vom Browser bereitgestellter UI, wie z.B. "Rechtschreibprüfung"-Unterstreichungen.
Komponentenautoren müssen das prefers-color-scheme-Medienmerkmal verwenden, um die Farbschemata auf den restlichen Elementen zu unterstützen.
Übliche Optionen für Betriebssystem-Farbschemata sind "light" und "dark" oder "Tagmodus" und "Nachtmodus". Wenn ein Benutzer eines dieser Farbschemata auswählt, nimmt das Betriebssystem Anpassungen an der Benutzeroberfläche vor. Dies umfasst Formularelemente, Scrollleisten und die verwendeten Werte der CSS-Systemfarben.
Probieren Sie es aus
color-scheme: normal;
color-scheme: dark;
color-scheme: light;
<section class="default-example container" id="default-example">
<textarea id="example-element">Text Area</textarea>
</section>
#example-element {
width: 80%;
height: 50%;
}
Syntax
color-scheme: normal;
color-scheme: light;
color-scheme: dark;
color-scheme: light dark;
color-scheme: only light;
/* Global values */
color-scheme: inherit;
color-scheme: initial;
color-scheme: revert;
color-scheme: revert-layer;
color-scheme: unset;
Der Wert der color-scheme-Eigenschaft muss eines der folgenden Schlüsselwörter sein.
Werte
normal-
Gibt an, dass das Element mit den Farb Schema-Einstellungen der Seite gerendert werden kann. Wenn die Seite kein Farbschema festgelegt hat, wird das Element mit den Standardfarbeneinstellungen der Seite gerendert.
light-
Gibt an, dass das Element mit dem light Farbschema des Betriebssystems gerendert werden kann.
dark-
Gibt an, dass das Element mit dem dark Farbschema des Betriebssystems gerendert werden kann.
only-
Verhindert, dass der Benutzeragent das Farbschema des Elements überschreibt.
Kann verwendet werden, um Farbüberschreibungen, die durch Chromes Auto Dark Theme verursacht werden, zu deaktivieren, indem
color-scheme: only light;auf ein bestimmtes Element oder:rootangewendet wird.
Formale Definition
| Anfangswert | normal |
|---|---|
| Anwendbar auf | all elements and text |
| Vererbt | Ja |
| Berechneter Wert | wie angegeben |
| Animationstyp | diskret |
Formale Syntax
color-scheme =
normal |
[ light | dark | <custom-ident> ]+ && only?
Beispiele
>Farbschema-Präferenzen deklarieren
Um die gesamte Seite in die Farb Schema-Präferenzen des Benutzers einzubinden, deklarieren Sie color-scheme auf dem :root-Element.
:root {
color-scheme: light dark;
}
Um spezifische Elemente in die Farb Schema-Präferenzen des Benutzers einzubeziehen, deklarieren Sie color-scheme auf diesen Elementen.
header {
color-scheme: only light;
}
main {
color-scheme: light dark;
}
footer {
color-scheme: only dark;
}
Zusammen mit dem obigen CSS sollten Sie auch das <meta name="color-scheme"> HTML <meta>-Tag im <head> vor allen CSS-Stilinformationen einfügen, um Benutzeragenten über das bevorzugte Farbschema zu informieren und unerwünschte Bildschirmeffekte beim Laden der Seite zu vermeiden.
Styling basierend auf Farbschemata
Um Elemente basierend auf Farbschema-Präferenzen zu stylen, verwenden Sie die prefers-color-scheme-Medienabfrage. Das folgende Beispiel schließt die gesamte Seite in die Verwendung sowohl von light- als auch von dark-Betriebssystemfarbschemata über die color-scheme-Eigenschaft ein und verwendet dann prefers-color-scheme, um die gewünschten Vorder- und Hintergrundfarben für einzelne Elemente in diesen Farbschemata festzulegen.
:root {
color-scheme: light dark;
}
@media (prefers-color-scheme: light) {
.element {
color: black;
background-color: white;
}
}
@media (prefers-color-scheme: dark) {
.element {
color: white;
background-color: black;
}
}
Alternativ verwenden Sie die light-dark() <color>-Funktion, um die Vorder- und Hintergrundfarben für die verschiedenen Farbschemata mit einer kompakteren Code-Struktur festzulegen:
:root {
color-scheme: light dark;
}
.element {
color: light-dark(black, white);
background-color: light-dark(white, black);
}
Spezifikationen
| Specification |
|---|
| CSS Color Adjustment Module Level 1> # color-scheme-prop> |
Browser-Kompatibilität
Loading…
Siehe auch
- Medienabfrage
prefers-color-scheme, um Benutzerpräferenzen für Farbschemata zu erkennen. light-dark()Farbfunktions, um Farben sowohl für light- als auch für dark-Farbschemata festzulegen.- Andere farbbezogene Eigenschaften:
color,accent-color,background-color,border-color,outline-color,text-decoration-color,text-emphasis-color,text-shadow,caret-color, undcolumn-rule-color background-imageprint-color-adjust- Verwendung relativer Farben