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

Ein sRGB-Farbrad

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:

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

<hue> = 
<number> |
<angle>

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

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

css
#box {
  background-color: hsl(0 100% 50%);
}

JavaScript

js
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

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

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

Siehe auch