Должен ли я использовать Hex или RGBA при разработке веб-сайта?

Я знаю, что это уже появилось на StackOverflow:

Но я хотел бы спросить здесь, так как мы, вероятно, все более технический подход к выбору цвета и, возможно, используем его в HEX, RGB и CMYK. Лично я последние несколько лет предпочитаю использовать RGBA. Мне просто легче запомнить. Я знаю некоторые HEX-коды (это коды?), но я знаю массу RGB-кодов и могу сделать довольно хорошие оценки для любого цвета, который мне может понадобиться.

Главный аргумент, который я видел, - это копирование и вставка одного против трех. Есть ли другие отличия в цветовом профиле?

Есть ли причина, по которой большинство программистов до сих пор предпочитают формат HEX?

С современными методами печати, с какими еще предостережениями, если таковые имеются, может столкнуться дизайнер, если он выберет HEX, а затем попытается найти аналогичный цвет CMYK?

Ответы (2)

Браузеру все равно, в каком формате находится цвет, производительность незначительна. Таким образом, я сосредоточусь на влиянии решения на разработчиков и варианты использования.

Многие разработчики считают , что HEX-значения легче читать, чем RGB или HSL. Таким образом, я склонен использовать HEX, чтобы следующему разработчику, работающему над проектом, было легче работать, даже немного. Впрочем, если разработчики более знакомы с другим типом, использовать его не проблема.

Один из немногих случаев, когда необходим определенный тип цвета, - это когда требуется изменение альфа-уровня. Это связано с тем, что opacityизменяется порядок наложения . Таким образом, когда альфа-уровень должен быть чем-то отличным от единицы, иногда предпочтительнее использовать HSLa или RGBa, а не opacityсвойство.

Когда дело доходит до анимации цветов , работа в RGB или HSL предпочтительнее, чем в HEX, просто потому, что числа легче редактировать динамически. HSL отлично подходит для анимаций, которые проходят через спектр, потому что цвет определяется одним числом — оттенком — при условии, что насыщенность и яркость на самом деле не нужно менять.

В конечном счете, это не имеет большого значения, если это не особый случай. Самое главное, чтобы в каждом проекте был максимально последовательный тип, потому что это повышает производительность.

Есть идеи, какой эффект, если он есть, у HEX, когда вы захотите производить печатные материалы под тем же брендом?
@Ryan HEX находится в гамме RGB. Вы не можете печатать гамму RGB, вы должны использовать гамму CMYK для печати. Прямой связи между HEX и CMYK нет. Вы должны преобразовать все в CMYK, а затем, возможно, настроить цвета в зависимости от того, насколько преобразование изменяет исходные цвета. По этой причине в большинстве брендов используются как минимум значения RGB и CMYK. Часто в руководствах по брендам будут прорывы цветов RGB, HEX, CMYK и плашечных цветов, чтобы обеспечить правильный цвет на любом носителе.
В дополнение к тому, что было сказано об opacityизменении порядка наложения, это также повлияет на непрозрачность всего элемента. Использование rgba или hsla повлияет только на непрозрачность свойства, которое получает цвет. div{ background: #f00; color: #0f0; opacity: .5}будет полупрозрачный текст. div{ background: rgba(255, 0, 0, .5); color: #0f0}не буду.

Пишите только в HSLA. Требуется совсем немного умственной гимнастики, чтобы представить или изменить цвета (по сравнению с шестнадцатеричным или RGBA), он полностью эквивалентен шестнадцатеричному или RGBA в браузере, имеет отличную поддержку браузера, начиная с IE9, и если вы используете только HSLA, вам никогда не придется менять макет вашего кода, когда вы хотите ввести прозрачность; все, что вы делаете, это уменьшаете 1 до числа 0.X. Это гораздо более последовательно и читабельно.