CSS <color-interpolation-method> 数据类型确定在不同 <color> 值之间创建过渡时使用的颜色空间。此数据类型会覆盖 color-mix() 和 Linear-gradient() 等函数的默认颜色混合。
插值颜色空间默认为 Oklab,同时插入颜色值。
可能的值
<rectangle-color-space> - 可以使用关键字 srgb、srgb-线性、lab、oklab、XYZ、XYZ-D50 或 XYZ-D65。
<polar-color-space> - 可以使用关键字 shsl、hwb、lch 或 oklch。
<hue-interpolation-method> -色相插值算法。它默认为较短的色调。它是可选的。
语法
<color-interpolation-method>: <rectangular-color-space> | <polar-color-space> | <hue-interpolation-method>;
CSS <color-interpolation-method> - Linear-gradient()
以下示例演示如何使用不同的颜色空间和使用 Linear-gradient() 进行梯度插值 -
<html>
<head>
<style>
.srgb-gradient {
background-image: linear-gradient(
to right,
rgb(15, 73, 27),
rgb(160, 214, 173),
rgb(63, 138, 13),
rgb(34, 180, 66),
rgb(79, 236, 132),
);
}
.oklab-gradient {
background-image: linear-gradient(
to right,
oklab(45.2% -0.032 -0.312),
oklab(48.7% 0.019 -0.224),
oklab(52.2% 0.07 -0.137),
oklab(55.8% 0.122 -0.049),
oklab(59.3% 0.173 0.038),
oklab(62.8% 0.225 0.126)
);
}
.oklch-longer-gradient {
background-image: linear-gradient(
to right,
oklch(45.2% 0.313 264),
oklch(46.8% 0.308 243),
oklch(48.4% 0.303 221),
oklch(50% 0.298 200),
oklch(51.6% 0.293 179),
oklch(53.2% 0.288 157),
oklch(54.8% 0.283 136),
oklch(56.4% 0.278 115),
oklch(58% 0.273 93),
oklch(59.6% 0.268 72)
);
}
.gradient {
height: 60px;
width: 50%;
}
.srgb-gradient {
background-image: linear-gradient(in srgb to right, green, yellow);
}
.oklab-gradient {
background-image: linear-gradient(in oklab to right, green, yellow);
}
.oklch-longer-gradient {
background-image: linear-gradient(in oklch longer hue to right, green, yellow);
}
</style>
</head>
<body>
<div>sRGB:</div>
<div class="gradient srgb-gradient"></div>
<div>Oklab:</div>
<div class="gradient oklab-gradient"></div>
<div>Oklch Gradient (with longer hue):</div>
<div class="gradient oklch-longer-gradient"></div>
</body>
</html>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62