CSS 資料型別 - <color-interpolation-method>



CSS <color-interpolation-method> 資料型別確定在建立不同 <color> 值之間的過渡時使用的顏色空間。此資料型別會覆蓋函式(如 color-mix()linear-gradient())的預設顏色混合。

在插值顏色值時,插值顏色空間預設為 Oklab

可能的值

  • <rectangular-color-space> − 可以使用關鍵字 srgb、srgb-linear、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>
廣告