Конвертер HEXA в HSLA
Преобразуйте цветовые коды HEXA в значения hsla(h, s, l, a) без ручных вычислений. Этот конвертер полезен, когда экспорты или дизайн-токены используют HEX с альфа-каналом, а в CSS или документации применяется HSLA.
Введите цвет в формате HEXA, и соответствующая запись HSLA появится сразу. После этого вы можете скопировать вызов hsla() в стили, файлы темы или пропсы компонентов.
На этой странице также есть краткое объяснение HEX с альфа-каналом и HSLA, понятная формула преобразования, подробный пошаговый разбор, справочная таблица и раздел FAQ с ответами на типичные вопросы об этих форматах.
Что такое цветовой код HEXA
Значение HEXA расширяет классический формат HEX, добавляя прозрачность. Вместо #RRGGBB используется #RRGGBBAA, где последние два символа кодируют альфа-канал.
Все четыре пары — это шестнадцатеричные числа в диапазоне от 00 до FF. Первые три пары управляют красным, зелёным и синим каналами, как в обычном HEX. Последняя пара задаёт прозрачность: 00 означает полную прозрачность, FF — полную непрозрачность.
Браузеры и инструменты считывают каждую пару, переводят её в десятичное число и используют первые три как RGB-каналы, а последнюю — как альфа-значение от 0 до 255. Это делает HEXA компактным способом хранения цвета и прозрачности в одной строке.
Что такое HSLA
HSLA — это цветовая модель HSL с альфа-каналом. Она записывается как hsla(h, s, l, a), где h — оттенок, s — насыщенность, l — светлота, а a — значение прозрачности.
Оттенок измеряется в градусах от 0 до 360. Насыщенность и светлота задаются в процентах от 0% до 100%. Альфа-компонент — это число от 0 до 1, где 0 означает полную прозрачность, а 1 — полную непрозрачность.
HSLA удобна для работы с дизайном, потому что позволяет отдельно настраивать оттенок, интенсивность и яркость, сохраняя контроль над прозрачностью через четвёртый параметр. Формат широко поддерживается в современном CSS.
Формула преобразования HEXA в HSLA
#RRGGBBAA -> hsla(h, s, l, a)
1) Split the HEXA string:
#RRGGBBAA -> RR, GG, BB, AA
2) Convert each pair from hex to decimal:
R = hex_to_dec(RR)
G = hex_to_dec(GG)
B = hex_to_dec(BB)
A = hex_to_dec(AA)
3) Normalize the alpha channel:
a = A / 255
4) Convert RGB to HSL:
r' = R / 255
g' = G / 255
b' = B / 255
max = max(r', g', b')
min = min(r', g', b')
delta = max - min
// Lightness:
l = (max + min) / 2
// Saturation:
if delta == 0 then s' = 0
else s' = delta / (1 - |2 * l - 1|)
// Hue:
if delta == 0 then h = 0
else if max == r' then h = 60 * (((g' - b') / delta) mod 6)
else if max == g' then h = 60 * (((b' - r') / delta) + 2)
else if max == b' then h = 60 * (((r' - g') / delta) + 4)
5) Scale to final units:
H = h
S = s' * 100
L = l * 100
6) Compose HSLA:
hsla(H, S%, L%, a)
Helper:
hex_to_dec("FF") = 255
hex_to_dec("00") = 0Красный, зелёный и синий компоненты обрабатываются так же, как при любом преобразовании из HEX в HSL. Пара альфа-канала используется только для вычисления итогового значения a в HSLA, поэтому сам цвет не меняется, изменяется лишь его прозрачность.
Пример для #4FA3C2CC
1) Пары:
RR = 4F, GG = A3, BB = C2, AA = CC
2) Десятичные значения:
R = 79, G = 163, B = 194, A = 204
3) Альфа:
a = 204 / 255 (около 0.8)
4) Преобразование (79, 163, 194) в HSL:
hsl(196, 49%, 54%) (округлено)
5) Итоговый HSLA:
hsla(196, 49%, 54%, 0.8)Как работает преобразование HEXA в HSLA шаг за шагом
Внутри преобразование HEXA в HSLA — это комбинация шагов HEX в RGB, RGB в HSL и простой нормализации альфа-канала. Вы извлекаете все каналы из шестнадцатеричного вида и затем отображаете их в модель HSLA.
#1A2B3C80
-> [1A, 2B, 3C, 80]
-> rgb(r, g, b) + alpha
-> hsla(h, s, l, a)Ниже приведён более подробный разбор на примере #1A2B3C80.
- Шаг 1 — декодирование HEX-пар
Разделите строку на четыре пары и переведите каждую из них из системы счисления с основанием 16 в систему с основанием 10. Первые три станут значениями R, G и B, а последняя — исходным значением альфа-канала.
RR = 1A -> 26 GG = 2B -> 43 BB = 3C -> 60 AA = 80 -> 128 - Шаг 2 — вычисление H, S и L из RGB
Нормализуйте каналы RGB в диапазон от 0 до 1, найдите максимальное и минимальное значения, затем используйте стандартные формулы HSL для получения оттенка, насыщенности и светлоты.
r' = 26 / 255 g' = 43 / 255 b' = 60 / 255 l = (max + min) / 2 ... -> hsl(210, 39%, 17%) (rounded) - Шаг 3 — нормализация альфа-канала и сборка HSLA
Разделите значение альфа-канала на 255 и подставьте все параметры в функцию
hsla().hsla(210, 39%, 17%, 0.5)
Та же последовательность шагов работает для любого корректного значения HEXA, поэтому использование конвертера или вспомогательной функции обычно является самым надёжным и быстрым вариантом.
Выбор между HEXA и HSLA
HEXA и HSLA описывают одни и те же данные: цвет и прозрачность. Основное различие заключается в том, что вы ставите в приоритет — компактность хранения или удобочитаемость и редактирование.
Когда HEXA подходит лучше
- Дизайн-токены и файлы тем: короткие строки вроде
#4FA3C2CCудобно хранить в JSON или конфигурационных объектах. - Копирование из дизайн-инструментов: многие графические редакторы экспортируют цвета в HEX с альфа-каналом, который можно сразу вставить в набор токенов.
- Общие палитры: коды HEXA компактны и хорошо подходят для больших таблиц семантических цветов.
Когда HSLA практичнее
- Тонкая настройка тем: явные значения оттенка, насыщенности и светлоты в HSLA проще корректировать, чем три сырых канала в HEX.
- Объяснение дизайн-решений: значения вроде
hsla(210, 40%, 20%, 0.7)проще обсуждать в спецификациях, чем восьмизначные HEX-коды. - Использование современных возможностей CSS: HSLA естественно сочетается с другими утилитами и техниками на основе HSL.
Итог
Используйте HEXA, когда нужны компактные токены и простое копирование. Преобразуйте их в HSLA, когда требуются читаемые и настраиваемые параметры для тем, компонентов или документации.
Лучшие практики совместного использования HEXA и HSLA
В одном проекте нормально поддерживать как HEX-, так и HSL-основанные цвета. Несколько правил помогают сохранить систему удобной для сопровождения.
Определите источник истины
- Выберите один основной формат для токенов: многие команды используют HEXA для базовых токенов и получают HSLA по мере необходимости.
- Делайте преобразования автоматическими: избегайте ручного редактирования альфа-канала или цветовых компонентов в нескольких местах; используйте скрипты или утилиты.
Комбинируйте с другими цветовыми моделями
- Используйте RGB как промежуточный шаг: преобразования между HEXA, HSLA и другими моделями обычно проходят через RGB.
- Безопасно ограничивайте значения: всегда удерживайте оттенок, насыщенность, светлоту и альфа-канал в допустимых диапазонах при анимациях или генерации вариантов.
Сохраняйте консистентность палитры
- Документируйте использование форматов: например, HEXA для токенов, HSLA в документации и примерах кода, RGBA в низкоуровневом коде отрисовки.
- Используйте утилиты вместо ручных вычислений: это снижает количество ошибок и упрощает массовые обновления тем.
При чётких правилах и автоматических преобразованиях можно эффективно использовать и HEXA, и HSLA без потери ясности в стилях и дизайн-системе.
Таблица преобразования HEXA в HSLA
В таблице ниже приведены несколько распространённых цветов с прозрачностью в форматах HEXA и HSLA. Значения округлены для удобства чтения, поэтому для точных чисел используйте конвертер выше.
| Описание | HEXA | HSLA |
|---|---|---|
| Белый 50% | #FFFFFF80 | hsla(0, 0%, 100%, 0.5) |
| Чёрный 50% | #00000080 | hsla(0, 0%, 0%, 0.5) |
| Красный 80% | #FF0000CC | hsla(0, 100%, 50%, 0.8) |
| Зелёный 40% | #00FF0066 | hsla(120, 100%, 50%, 0.4) |
| Синий 30% | #0000FF4D | hsla(240, 100%, 50%, 0.3) |
| Жёлтый 60% | #FFFF0099 | hsla(60, 100%, 50%, 0.6) |
| Циан 70% | #00FFFFB3 | hsla(180, 100%, 50%, 0.7) |
| Маджента 90% | #FF00FFE6 | hsla(300, 100%, 50%, 0.9) |
| Серый оверлей | #11111180 | hsla(0, 0%, 7%, 0.5) |
| Мягкий серый | #33333380 | hsla(0, 0%, 20%, 0.5) |
| Граница панели | #55555580 | hsla(0, 0%, 33%, 0.5) |
| Акцентный оранжевый 70% | #FFA500B3 | hsla(39, 100%, 50%, 0.7) |
| Фиолетовый оверлей | #80008080 | hsla(300, 100%, 25%, 0.5) |
| Бирюзовый оверлей | #00808080 | hsla(180, 100%, 25%, 0.5) |
Для любого другого значения HEXA вы можете использовать конвертер в верхней части страницы, чтобы получить соответствующий цвет HSLA по стандартному алгоритму.
FAQ: HEXA в HSLA
- Чем HEXA отличается от HEX
HEX использует шесть символов только для RGB. HEXA расширяет формат до восьми символов, добавляя пару для альфа-канала, поэтому может описывать и цвет, и прозрачность.
- Зачем преобразовывать HEXA в HSLA
HSLA упрощает независимую настройку оттенка, насыщенности и светлоты, при этом альфа-канал остаётся отдельным параметром. Это особенно удобно при работе с темами и документацией дизайн-решений.
- Меняется ли визуальный цвет при преобразовании
Нет. Корректно преобразованное значение HSLA описывает тот же цвет и ту же прозрачность, что и исходная строка HEXA. Меняется только форма записи.
- Можно ли вернуться от HSLA к HEXA
Да. Можно преобразовать HSLA в RGB, умножить значение альфа-канала на 255 и затем перевести все четыре числа в двухзначные HEX-пары, чтобы собрать строку HEXA.
- Что использовать в CSS: HSLA или RGBA
Оба варианта допустимы. HSLA часто интуитивнее при настройке палитр и тем, тогда как RGBA удобно использовать, если вы уже работаете в модели RGB. Во многих проектах применяются оба формата в зависимости от задачи.
Связанные конвертеры:
Конвертер HEXA в RGBA
Мгновенный расчет hexa в rgbaКонвертер HEXA в HSVA
Мгновенный расчет hexa в hsvaКонвертер RGBA в HEXA
Мгновенный расчет rgba в hexaКонвертер RGBA в HSLA
Мгновенный расчет rgba в hslaКонвертер RGBA в HSVA
Мгновенный расчет rgba в hsvaКонвертер HSLA в HEXA
Мгновенный расчет hsla в hexa