<hue>
语法
<hue>
可以是 <angle>
或 <number>
。
值
描述
上面的色轮显示了 sRGB 颜色空间 中所有角度的色相。特别是,红色 在 0deg
,黄色 在 60deg
,青柠色 在 120deg
,青色 在 180deg
,蓝色 在 240deg
,洋红色 在 300deg
。
对应于特定色相的角度根据颜色空间的不同而不同。例如,sRGB 绿色在 sRGB 颜色空间中的色相角为 120deg
,但在 CIELAB 颜色空间中为 134.39deg
。
下表列出了 sRGB(hsl()
和 hwb()
使用)、CIELAB(lch()
使用)和 Oklab(oklch()
使用)颜色空间中各种角度的典型颜色
0° | 60° | 120° | 180° | 240° | 300° | |
---|---|---|---|---|---|---|
sRGB | ||||||
CIELAB | ||||||
Oklab |
<hue>
值的插值
<hue>
值会被插值为 <angle>
值,默认的插值算法为 shorter
。在一些与颜色相关的 CSS 函数中,可以通过 <hue-interpolation-method>
组件覆盖此算法。
正式语法
示例
使用滑块更改颜色的色相
以下示例展示了更改 hsl()
函数表示法中 hue
值对颜色的影响。
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`;
});
结果
在不同的颜色空间中近似红色色相
以下示例展示了在不同颜色空间中相似的红色。为了便于阅读,lch()
和 oklch()
函数中的值已四舍五入。
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);
}
结果
规范
规范 |
---|
CSS 颜色模块 Level 4 # typedef-hue |
浏览器兼容性
css.types.color.hsl
BCD 表格仅在浏览器中加载
css.types.color.hwb
BCD 表格仅在浏览器中加载
css.types.color.lch
BCD 表格仅在浏览器中加载
css.types.color.oklch
BCD 表格仅在浏览器中加载