Я знаю, что это уже появилось на StackOverflow:
Но я хотел бы спросить здесь, так как мы, вероятно, все более технический подход к выбору цвета и, возможно, используем его в HEX, RGB и CMYK. Лично я последние несколько лет предпочитаю использовать RGBA. Мне просто легче запомнить. Я знаю некоторые HEX-коды (это коды?), но я знаю массу RGB-кодов и могу сделать довольно хорошие оценки для любого цвета, который мне может понадобиться.
Главный аргумент, который я видел, - это копирование и вставка одного против трех. Есть ли другие отличия в цветовом профиле?
Есть ли причина, по которой большинство программистов до сих пор предпочитают формат HEX?
С современными методами печати, с какими еще предостережениями, если таковые имеются, может столкнуться дизайнер, если он выберет HEX, а затем попытается найти аналогичный цвет CMYK?
Браузеру все равно, в каком формате находится цвет, производительность незначительна. Таким образом, я сосредоточусь на влиянии решения на разработчиков и варианты использования.
Многие разработчики считают , что HEX-значения легче читать, чем RGB или HSL. Таким образом, я склонен использовать HEX, чтобы следующему разработчику, работающему над проектом, было легче работать, даже немного. Впрочем, если разработчики более знакомы с другим типом, использовать его не проблема.
Один из немногих случаев, когда необходим определенный тип цвета, - это когда требуется изменение альфа-уровня. Это связано с тем, что opacity
изменяется порядок наложения . Таким образом, когда альфа-уровень должен быть чем-то отличным от единицы, иногда предпочтительнее использовать HSLa или RGBa, а не opacity
свойство.
Когда дело доходит до анимации цветов , работа в RGB или HSL предпочтительнее, чем в HEX, просто потому, что числа легче редактировать динамически. HSL отлично подходит для анимаций, которые проходят через спектр, потому что цвет определяется одним числом — оттенком — при условии, что насыщенность и яркость на самом деле не нужно менять.
В конечном счете, это не имеет большого значения, если это не особый случай. Самое главное, чтобы в каждом проекте был максимально последовательный тип, потому что это повышает производительность.
Пишите только в HSLA. Требуется совсем немного умственной гимнастики, чтобы представить или изменить цвета (по сравнению с шестнадцатеричным или RGBA), он полностью эквивалентен шестнадцатеричному или RGBA в браузере, имеет отличную поддержку браузера, начиная с IE9, и если вы используете только HSLA, вам никогда не придется менять макет вашего кода, когда вы хотите ввести прозрачность; все, что вы делаете, это уменьшаете 1 до числа 0.X. Это гораздо более последовательно и читабельно.
Райан
Скотт
Гидгидонихах
opacity
изменении порядка наложения, это также повлияет на непрозрачность всего элемента. Использование rgba или hsla повлияет только на непрозрачность свойства, которое получает цвет.div{ background: #f00; color: #0f0; opacity: .5}
будет полупрозрачный текст.div{ background: rgba(255, 0, 0, .5); color: #0f0}
не буду.