OKLCH — лучший формат для цвета в CSS
Традиционно цвета в CSS задаются с помощью модели RGB (red, green, blue — красный, зелёный, синий) в шестнадцатеричном формате. Вот, к примеру, как будет выглядеть белый цвет текста на зелёном фоне.
.primary {
background-color: #63a03e; /* Зелёный фон */
color: #fff; /* Белый цвет */
}
Тот же цвет можно выразить и десятичными числами через стилевую функцию rgb().
.primary {
background-color: rgb(99 160 62); /* Зелёный фон */
color: rgb(255 255 255); /* Белый цвет */
}
Цветовая модель RGB поддерживает более 16 миллионов цветов, работает во всех браузерах и графических редакторах. Несмотря на такие преимущества, у неё есть и важный недостаток — она подходит для компьютеров и не удобна для людей.
- Довольно сложно интуитивно, без помощи сторонних программ, получить желаемый цвет.
- Также сложно, взяв определённый цвет, сделать его светлее или темнее.
- Изменение одного из параметров не даёт предсказуемый результат.
В целом, имея большой опыт работы с цветом, можно довольно точно предсказывать, какой будет цвет на основе заданных чисел. К тому же графические редакторы никто не отменял, и с их помощью произвольный цвет в шестнадцатеричном формате получается довольно легко. Так что многие веб-дизайнеры вообще не понимают, что при выборе цвета есть какая-то проблема.
Но есть и другая категория веб-дизайнеров, которые хотят задавать цвет другим способом. Для них в CSS введена поддержка цветовых моделей HSL, HWB, LAB, LCH и OKLCH. О последней и поговорим подробнее.