<hue>
Der <hue>
CSS Datentyp repräsentiert den Farbtonwinkel einer Farbe. Er wird in den Farbfunktionswerten verwendet, die den Farbton als Einzelwert akzeptieren, insbesondere in den Funktionsnotationen hsl()
, hwb()
, lch()
und oklch()
.
Syntax
Ein <hue>
kann entweder ein <angle>
oder ein <number>
sein.
Werte
<angle>
-
Ein Winkel, der in Grad, Gon, Radianten oder Umdrehungen ausgedrückt wird, wobei
deg
,grad
,rad
oderturn
verwendet wird. <number>
-
Eine reelle Zahl, die Grad des Farbtons anzeigt.
Da ein <angle>
periodisch ist, wird <hue>
auf den Bereich [0deg, 360deg)
normalisiert. Es wandert automatisch, so dass 480deg
dasselbe ist wie 120deg
, -120deg
dasselbe wie 240deg
, -1turn
dasselbe wie 1turn
und so weiter.
Beschreibung
Das obige Farbrad zeigt die Farbtöne in allen Winkeln im sRGB Farbraum. Insbesondere Rot ist bei 0deg
, Gelb bei 60deg
, Lime bei 120deg
, Cyan bei 180deg
, Blau bei 240deg
und Magenta bei 300deg
.
Die Winkeln, die bestimmten Farbtönen entsprechen, unterscheiden sich je nach Farbraum. Zum Beispiel ist 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 im 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 Standardinterpolationsalgorithmus ist shorter
. In einigen farbbezogenen CSS-Funktionen kann dies durch die Komponente <hue-interpolation-method>
überschrieben werden.
Formale Syntax
Beispiele
Veränderung des Farbtons einer Farbe mit einem Schieberegler
Das folgende Beispiel zeigt die Wirkung der Änderung des hue
-Werts der hsl()
Funktionsnotation 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 |
Browser-Kompatibilität
css.types.color.hsl
BCD tables only load in the browser
css.types.color.hwb
BCD tables only load in the browser
css.types.color.lch
BCD tables only load in the browser
css.types.color.oklch
BCD tables only load in the browser