<color-interpolation-method>
Базовая версия 2023
Новое
С мая 2023 года эта функция работает на последних устройствах и версиях браузеров. Возможно, эта функция не будет работать на старых устройствах или браузерах.
Тип данных <color-interpolation-method> CSS <color> представляет цветовое пространство, используемое для интерполяции между значениями <color>. Его можно использовать для переопределения стандартного цветового пространства интерполяции для функциональных обозначений, связанных с цветом, таких как color-mix() и linear-gradient().
При интерполяции значений <color> цветовое пространство интерполяции по умолчанию — Oklab.
Синтаксис
<color-interpolation-method> определяет, использовать ли прямоугольное цветовое пространство или полярное цветовое пространство с необязательным методом интерполяции оттенка:
in <rectangular-color-space> // or in <polar-color-space>[ <hue-interpolation method>]
Значения
<rectangular-color-space>-
Одно из ключевых слов
srgb,srgb-linear,display-p3,a98-rgb,prophoto-rgb,rec2020,lab,oklab,xyz,xyz-d50, илиxyz-d65. <polar-color-space>-
Одно из ключевых слов
hsl,hwb,lch, илиoklch. -
<hue-interpolation-method>Необязательно -
Алгоритм интерполяции оттенка. По умолчанию —
shorter hue. <custom-color-space>-
<dashed-ident>ссылаясь на пользовательское @профиль цвета.
Формальный синтаксис
<color-interpolation-method> =
in [ <rectangular-color-space> | <polar-color-space> <hue-interpolation-method>? ]
<rectangular-color-space> =
srgb |
srgb-linear |
display-p3 |
a98-rgb |
prophoto-rgb |
rec2020 |
lab |
oklab |
xyz |
xyz-d50 |
xyz-d65
<polar-color-space> =
hsl |
hwb |
lch |
oklch
<hue-interpolation-method> =
[ shorter | longer | increasing | decreasing ] hue
Примеры
Сравнение цветовых пространств интерполяции с помощью градиентов
Следующий пример показывает влияние использования различных цветовых пространств интерполяции для linear-gradient().
HTML
<div>sRGB:</div> <div class="gradient srgb"></div> <div>Oklab:</div> <div class="gradient oklab"></div> <div>Oklch (with <code>longer hue</code>):</div> <div class="gradient oklch-longer"></div>
CSS
.gradient {
height: 50px;
width: 100%;
}
.srgb {
background-image: linear-gradient(in srgb to right, blue, red);
}
.oklab {
background-image: linear-gradient(in oklab to right, blue, red);
}
.oklch-longer {
background-image: linear-gradient(in oklch longer hue to right, blue, red);
}
Результат
Интерполяция цветов в повторяющихся градиентах
Следующий пример показывает, как указать цветовое пространство при интерполяции цветов в повторяющихся градиентах. Три блока демонстрируют различные типы повторяющихся градиентов, использующих функции repeating-conic-gradient(), repeating-linear-gradient() и repeating-radial-gradient(). Первый блок использует цветовое пространство Lab для интерполяции между двумя значениями цвета. Второй и третий блоки используют Oklch и дополнительно предоставляют <hue-interpolation-method> для указания способа интерполяции значений оттенка.
HTML
<div class="gradient conic">conic</div> <div class="gradient linear">linear</div> <div class="gradient radial">radial</div>
CSS
Мы использовали одни и те же два цвета в каждом градиенте, чтобы продемонстрировать различные эффекты <hue-interpolation-method> и цветового пространства на интерполяцию цвета в градиентах.
.conic {
background-image: repeating-conic-gradient(
in lab,
burlywood,
blueviolet 120deg
);
}
.linear {
background-image: repeating-linear-gradient(
in oklch,
burlywood,
blueviolet 75px
);
}
.radial {
background-image: repeating-radial-gradient(
in oklch longer hue,
blueviolet 50px,
burlywood 100px
);
}
Результат
Сравнение первого и второго блоков демонстрирует разницу в интерполяции между двумя цветами в разных цветовых пространствах. Сравнение второго и третьего блоков показывает разницу между <hue-interpolation-method>, где линейный градиент использует более короткий метод (по умолчанию), а радиальный градиент — более длинный метод.
Спецификации
| Спецификация |
|---|
| CSS Цвет Модуль Уровень 4 # interpolation-space |
Совместимость с браузерами
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
color-interpolation-method |
111 | 111 | 113 | 97 | 16.2 | 111 | 113 | 75 | 16.2 | 22.0 | 111 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/color-interpolation-method