OKLCH vs HSL
Оба формата описывают цвет через оттенок и два других значения. Разница в том, что OKLCH построен на том, как люди воспринимают цвет, а HSL — нет.
Проблема светлоты в HSL
Задайте жёлтому и синему одинаковую светлоту в HSL, и жёлтый будет выглядеть заметно ярче:
color: hsl(60 100% 50%); /* bright yellow */
color: hsl(240 100% 50%); /* dark blue */
В OKLCH светлота гораздо точнее соответствует тому, что мы видим. Цвета с одинаковым значением выглядят примерно одинаково ярко, поэтому палитры легче сбалансировать.
Сравнение
| HSL | OKLCH | |
|---|---|---|
| Светлота | Зависит от оттенка | Близка к тому, что видит человек |
| Диапазон цветов | Только sRGB | Включает более широкие цветовые пространства |
| Поддержка браузерами | Универсальная | Все современные браузеры |
| Удобство чтения | Привычный формат | Требует небольшого привыкания |
Когда что использовать
- Используйте OKLCH для дизайн-систем, сгенерированных оттенков и ярких цветов на современных экранах.
- Используйте HSL для быстрых единичных цветов или когда нужно поддерживать очень старые браузеры.
Готовы перейти? Конвертируйте цвет с помощью HEX to OKLCH Converter, затем следуйте нашему руководству как использовать OKLCH в CSS.