CSS oklab() 函数

定义和用法

CSS 的 oklab() 函数用于在 OKLAB 色彩空间中指定颜色。该色彩空间旨在模拟人眼对颜色的感知方式。

实例

定义不同的 oklab() 颜色:

#p1 {background-color:oklab(0 40% 20% / 0.5);}
#p2 {background-color:oklab(0.3 -40% -20%);}
#p3 {background-color:oklab(0.4 30% -20% / 20%);}
#p4 {background-color:oklab(0.5 60% 20%);}
#p5 {background-color:oklab(0.6 50% -10%);}
#p6 {background-color:oklab(0.7 70% -80% / 0.3);}
#p7 {background-color:oklab(0.8 70% 20% / 0.5);}
#p8 {background-color:oklab(0.9 80% -20%);}
#p9 {background-color:oklab(1 90% -100%);}

亲自试一试

CSS 语法

绝对值语法

oklab(L a b / A)
描述
L

必需。定义颜色的感知亮度,可以是 0 到 1 之间的数字或 0% 到 100% 之间的百分比。

0(或 0%)表示黑色,1(或 100%)表示白色。

也可以使用 None(等同于 0%)。

a

必需。定义 -0.4 到 0.4 之间的数字或 -100% 到 100% 之间的百分比。

定义颜色沿 a 轴的距离,表示颜色的红绿程度。

-0.4 表示绿色,0.4 表示红色。也可以使用 none(等同于 0%)。

b

必需。定义 -0.4 到 0.4 之间的数字或 -100% 到 100% 之间的百分比。

定义颜色沿 b 轴的距离,表示颜色的黄蓝程度。

-0.4 表示蓝色,0.4 表示黄色。也可以使用 none(等同于 0%)。

/ A

可选。表示颜色的透明度通道值(0%(或 0)表示完全透明,100%(或 100)表示完全不透明)。

也可以使用 none(表示无透明度通道)。默认值为 100%。

相对值语法

oklab(from color L a b / A)
描述
from color

以关键字 from 开头,后跟表示原始颜色的颜色值。

这是相对颜色所基于的原始颜色。

L

必需。定义颜色的感知亮度,可以是 0 到 1 之间的数字或 0% 到 100% 之间的百分比。

0(或 0%)表示黑色,1(或 100%)表示白色。

也可以使用 none(等同于 0%)。

a

必需。定义 -0.4 到 0.4 之间的数字或 -100% 到 100% 之间的百分比。

定义颜色沿 a 轴的距离,表示颜色的红绿程度。

-0.4 表示绿色,0.4 表示红色。也可以使用 none(等同于 0%)。

b

必需。定义 -0.4 到 0.4 之间的数字或 -100% 到 100% 之间的百分比。

定义颜色沿 b 轴的距离,表示颜色的黄蓝程度。

-0.4 表示蓝色,0.4 表示黄色。也可以使用 none(等同于 0%)。

/ A

可选。表示颜色的透明度通道值(0%(或 0)表示完全透明,100%(或 100)表示完全不透明)。

也可以使用 none(表示无透明度通道)。默认值为 100%。

技术细节

版本: CSS Color Module Level 4

浏览器支持

表格中的数字表示首个完全支持该函数的浏览器版本。

Chrome Edge Firefox Safari Opera
oklab()
111 111 113 15.4 97
在参数中混合使用数字和百分比
116 116 113 16.2 102

相关页面

参考:CSS 颜色

参考:CSS hsl() 函数

参考:CSS hwb() 函数

参考:CSS lch() 函数

参考:CSS lab() 函数

参考:CSS oklch() 函数