Есть ли веские причины для использования шестнадцатеричных значений по десятичной для значений цвета RGB в CSS?
rgb(255,255,255)
нотация доступна с CSS1. Но #ffffff
кажется гораздо более популярным.
Очевидно, это немного более компактно. Я знаю, что hex больше связан с базовыми байтами и понимает, что при выполнении арифметики эти значения будут иметь преимущества, но это не то, что вы собираетесь делать с CSS.
Ценности цвета, как правило, создаются дизайнерами (такими как я), которые никогда не встречаются с шестнадцатеричной нотации в другом месте и более знакомы с десятичной нотацией, которая является основным способом указания цвета в приложениях, которые они используют, - в факт, что я встретил немало людей, которые не понимают, как данное шестнадцатеричное значение разбивается на компоненты RGB и предполагает, что оно напрямую не связано с цветом, например, с ссылкой на систему цветов Pantone (например, PMS432).
Итак, по какой-либо причине не использовать десятичную цифру?
Ответы
Ответ 1
Значения хеширования легче копировать и вставлять из вашего любимого редактора изображений.
Значения RGB легче манипулировать с помощью Javascript.
(Мое любимое значение цвета Hex - #EDEDED, а сайт, который мы создали для клиента, участвующего в автоспорте, имел цвет фона # F1F1F1: -)
Под ред.
Ответ 2
Стоит отметить, что если вы хотите ввести значение RGBA, шестнадцатеричная нотация не поддерживается; т.е. вы не можете подделать его с помощью #FFFFFFff. Фактически, значение альфа должно быть числом от 0,0 до 1,0 включительно. (Зайдите в эту страницу для поддержки браузера - как всегда, IE ведет пакет здесь;))
Поддержка цвета HSL и HSLA, которая очень удобна для дизайнера, также снабжена аналогичным синтаксисом стиля RGB(). Если разработчик должен использовать оба типа значений цвета в одной таблице стилей, они могут выбрать десятичные значения по шестнадцатеричным кодам для согласованности.
Ответ 3
Я думаю, к чему вы привыкли. Если вы привыкли к HTML, вы, вероятно, будете использовать HEX, поскольку он просто использовался в HTML. Если вы работаете на фоне дизайна, используя Photoshop/Corel/PaintShopPro и т.д., То вы, скорее всего, используете нотацию RGB, хотя в настоящее время многие программы также содержат поле значений HEX.
Как уже говорилось, RGBA может быть поводом просто пойти с обозначением RGB - согласованность.
Хотя, я думаю, это также зависит от сценария. Если вам комфортно с обоими, вы можете просто переключаться между ними: #fff
гораздо легче набирать, чем rgb(255,255,255)
.
Другой вопрос, почему люди скажут #fff
вместо White
(предполагая, что большинство браузеров поддерживают это ключевое слово).
Все зависит от предпочтений и удобочитаемости - если вы поддерживаете огромный CSS файл, будучи в состоянии смотреть на значение цвета и знать, какой он цвет, это действительно хорошее преимущество. Еще более выгодно использовать что-то вроде LESS или Sass, чтобы добавить своего рода программируемость в CSS - допустим, например, константы. Поэтому вместо того, чтобы говорить:
#title { color: #abcdef; }
Вместо LESS можно сделать следующее:
@base-color: #abcdef;
#title { color: @base-color; }
Поддержание CSS становится проблемой.
Если вы беспокоитесь о производительности рендеринга браузера, то это также может быть еще одним фактором для вашего выбора.
Итак, это сводится к следующему:
- Дружественные
- Предпочтение
- ремонтопригодность
- Производительность
Ответ 4
Традиционно HTML всегда использовал шестнадцатеричные цвета, поэтому он перенесен в CSS. Подумайте <font color="#ffffff">
Ответ 5
Основная причина, по вашему мнению, - компактность. #ffffff
может быть даже сокращен до сокращенной записи #fff
.
Еще одна возможная причина заключается в том, что наблюдается увеличение производительности за счет сохранения браузером проблемы преобразования нотации rgb
.
Ответ 6
Различные вещи будут принимать одно шестнадцатеричное значение, где у них могут быть разные способы ввода трех десятичных значений. Там также тот факт, что он всегда 6 символов (или 3, по общему признанию - плюС#), что облегчает сканирование списка из них.
Всего несколько случайных мыслей, чтобы добавить в микс...
Ответ 7
CSS был изобретен разработчиками программного обеспечения, а не дизайнерами. Разработчики программного обеспечения живут и дышат шестью. Из моих старых дней C64 я все еще могу читать большинство шестнадцатеричных чисел, не задумываясь. A9, кто-нибудь?
Ответ 8
Я всегда использовал hex, но сегодня я предпочитаю устанавливать мои значения как:
rgb(82, 110, 188)
в моих файлах css, поэтому всякий раз, когда я хочу добавить непрозрачность, мне просто нужно переименовать rgb в rgba и добавить значение непрозрачности. Преимущество состоит в том, что мне не нужно преобразовать шестнадцатеричное значение в rgb перед тем, как добавить непрозрачность:
rgba(82, 110, 188, 0.5)
Ответ 9
Вероятно, прикосновение скорости, когда цвет интерпретируется браузером. В противном случае некоторые люди из дизайна могут знать, как составлять цвета из компонентов RGB, когда они пишут код, а некоторые другие из фона программирования, вероятно, более склонны использовать значения HEX.
Ответ 10
нет уважительной причины, кроме личных предпочтений.
Ответ 11
Возможно, я слишком долго делал HTML, но мне легче думать о значениях HEX. Много предопределенной цветовой палитры для HTML-карт аккуратно отображает значения HEX. Использование сокращенного формата также дает вам автоматические "веб-безопасные" цвета, хотя это не проблема в дни 32-битных цветных дисплеев.
Ответ 12
HEX чаще всего объясняется историческими причинами.
До того, как CSS был распространен в веб-разработке, цвета были указаны в тегах HTML, а наиболее часто используемый и поддерживаемый способ указания цвета заключался в использовании значений HEX.