<hue>
Der <hue> CSS Datentyp repräsentiert den Farbtonwinkel einer Farbe. Er wird in den Farb-Funktionen verwendet, die den Farbton als Einzelwert akzeptieren, speziell die funktionalen Notationen hsl(), hwb(), lch() und oklch().
Syntax
Ein <hue> kann entweder ein <angle> oder ein <number> sein.
Werte
<angle>-
Ein Winkel, ausgedrückt in Grad, Gon, Radiant oder Umdrehungen, unter Verwendung von
deg,grad,radoderturn. <number>-
Eine reelle Zahl, die die Grad des Farbtonwinkels repräsentiert.
Da ein <angle> periodisch ist, wird <hue> normalisiert auf den Bereich [0deg, 360deg). Es wickelt sich implizit so, dass 480deg dasselbe ist wie 120deg, -120deg ist dasselbe wie 240deg, -1turn entspricht 1turn und so weiter.
Beschreibung
Das oben gezeigte Farbrad zeigt Farbtöne bei allen Winkeln im sRGB Farbraum. Im Besonderen liegt rot bei 0deg, gelb bei 60deg, limette bei 120deg, cyan bei 180deg, blau bei 240deg und magenta bei 300deg.
Die Winkel, die bestimmten Farbtönen entsprechen, unterscheiden sich je nach Farbraum. Beispielsweise beträgt der Farbtonwinkel von sRGB-Grün 120deg im sRGB-Farbraum, aber 134.39deg im CIELAB Farbraum.
Die folgende Tabelle listet typische Farben bei verschiedenen Winkeln in den sRGB (verwendet von hsl() und hwb()), CIELAB (verwendet von lch()), und Oklab (verwendet von oklch()) Farbräumen auf:
| 0° | 60° | 120° | 180° | 240° | 300° | |
|---|---|---|---|---|---|---|
| sRGB | ||||||
| CIELAB | ||||||
| Oklab |
Interpolation von <hue>-Werten
<hue>-Werte werden als <angle>-Werte interpoliert, und der Standard-Interpolationsalgorithmus ist shorter. In einigen farbbezogenen CSS-Funktionen kann dies durch die <hue-interpolation-method> Komponente überschrieben werden.
Formale Syntax
<hue> =
<number> |
<angle>
Beispiele
>Ändern des Farbtons einer Farbe mit einem Schieberegler
Das folgende Beispiel zeigt die Auswirkung der Änderung des hue-Wertes der hsl() funktionalen Notation auf eine Farbe.
HTML
<input type="range" min="0" max="360" value="0" id="hue-slider" /> <p>Hue: <span id="hue-value">0deg</span></p> <div id="box"></div> CSS
#box { background-color: hsl(0 100% 50%); } JavaScript
const hue = document.querySelector("#hue-slider"); const box = document.querySelector("#box"); hue.addEventListener("input", () => { box.style.backgroundColor = `hsl(${hue.value} 100% 50%)`; document.querySelector("#hue-value").textContent = `${hue.value}deg`; }); Ergebnis
Annäherung von Rottönen in verschiedenen Farbräumen
Das folgende Beispiel zeigt eine ähnliche rote Farbe in verschiedenen Farbräumen. Die Werte in den lch() und oklch() Funktionen sind zur besseren Lesbarkeit gerundet.
HTML
<div data-color="hsl-red">hsl()</div> <div data-color="hwb-red">hwb()</div> <div data-color="lch-red">lch()</div> <div data-color="oklch-red">oklch()</div> CSS
[data-color="hsl-red"] { /* hsl(<hue> <saturation> <lightness>) */ background-color: hsl(0 100% 50%); } [data-color="hwb-red"] { /* hwb(<hue> <whiteness> <blackness>) */ background-color: hwb(0 0% 0%); } [data-color="lch-red"] { /* lch(<lightness> <chroma> <hue>) */ background-color: lch(50 150 40); } [data-color="oklch-red"] { /* oklch(<lightness> <chroma> <hue>) */ background-color: oklch(0.6 0.4 20); } Ergebnis
Spezifikationen
| Specification |
|---|
| CSS Color Module Level 4> # typedef-hue> |