CSS 中的 color() 函数允许使用可以在特定色彩空间中指定的颜色,而不是大多数颜色函数使用的默认 sRGB 色彩空间。
色域 CSS 媒体功能可用于检查对特定色彩空间的支持。
可能的值
color() 函数的函数符号为 color(colorspace c1 c2 c3[ / A])。
colorspace:它是一个 <ident> (字符串)表示颜色空间的名称:
a srgb
a srgb-linear
a display-p3
a a98-rgb
a prophoto-rgb
rec2020
xyz
xyz-d50
a xyz-d65
c1、c2、c3:可以包含任一格式,表示颜色空间中的分量值:
a <number>:0 到 1 之间的任何值。
<percentage>:0% 到 100% 之间的任何值。
关键字无
A:表示颜色的透明度。它是一个可选值。
<alpha-value>:0 到 1 之间的任何数字,其中 1 对应于完全不透明,0 对应于完全透明。
keyword none
语法
color(display-p3 0.45 1 0) | color(display-p3 0.45 1 0 / 0.4)
CSS color(): 使用预定义的色彩空间
以下示例展示了使用具有不同亮度、a 轴和 b 轴值的 color() 函数预定义色彩空间的用法:
<html>
<head>
<style>
div {
width: 100px;
height: 100px;
border: 2px solid black;
margin-bottom: 10px;
}
.color-srgb {
background-color: color(srgb 1 0 0);
}
.color-srgb-linear {
background-color: color(srgb-linear 0 1 0);
}
.color-display-p3 {
background-color: color(display-p3 0.4 0.6 35%);
}
.color-a98-rgb {
background-color: color(a98-rgb 1 1 0);
}
.color-prophoto-rgb {
background-color: color(prophoto-rgb 0 0 1);
color: white ;
}
.color-rec2020 {
background-color: color(rec2020 0.6 0.1 1 / 0.4);
}
</style>
</head>
<body>
<div class="color-srgb">color(srgb 1 0 0)</div>
<div class="color-srgb-linear">color(srgb-linear 0 1 0)</div>
<div class="color-display-p3">color(display-p3 0.4 0.6 35%)</div>
<div class="color-a98-rgb">color(a98-rgb 1 1 0)</div>
<div class="color-prophoto-rgb">color(prophoto-rgb 0 0 1)</div>
<div class="color-rec2020">color(rec2020 0.6 0.1 1 / 0.4)</div>
</body>
</html>
CSS color(): 使用xyz 色彩空间
以下示例显示了 xyz 色彩空间与 color() 函数的使用,其中亮度、a 轴和 b 轴的值不同:
<html>
<head>
<style>
div {
width: 100px;
height: 100px;
border: 2px solid black;
margin-bottom: 10px;
}
.color-xyz {
background-color: color(xyz 1 0 0);
}
.color-xyz-d50 {
background-color: color(xyz-d50 1 1 0);
}
.color-xyz-d65 {
background-color: color(xyz-d65 1 0 75% / 0.3);
}
</style>
</head>
<body>
<div class="color-xyz">color(xyz 1 0 0)</div>
<div class="color-xyz-d50">color(xyz-d50 1 1 0)</div>
<div class="color-xyz-d65">color(xyz-d65 1 0 75% / 0.3)</div>
</body>
</html>