CSS 中的 color() 函数允许使用可以在特定颜色空间中指定的颜色,而不是大多数颜色函数使用的默认 sRGB 颜色空间。
色域CSS 媒体功能可用于检查对特定颜色空间的支持。
可能的值
color() 函数表示法是 color(colorspace c1 c2 c3[ / A])。
- ColorSpace:它是一个 <ident>(字符串),表示 colorspaces 的名称:
- a srgb
- a srgb-linear
- a display-p3
- a a98-rgb
- a prophoto-rgb
- a rec2020
- a xyz
- a xyz-d50
- a xyz-d65
- C1、C2、C3:可以包含表示 ColorSpace 中的组件值的任一格式:
- a <number>:介于 0 和 1 之间的任何值。
- A <percentage>:0% 到 100% 之间的任何值。
- 关键词 none
- A:代表颜色的透明度。它是一个可选值。
- <alpha-value>:0 到 1 之间的任何数字,其中 1 对应于完全不透明度,0 对应于完全透明。
- 关键词 none
语法
color(display-p3 0.45 1 0) | color(display-p3 0.45 1 0 / 0.4)
CSS color() - 使用预定义的颜色空间
以下示例显示了将预定义的颜色空间与 color() 函数一起使用,具有不同的亮度、a 轴和 b 轴值:
<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 colorspaces 与 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>