Подтвердить что ты не робот

Есть ли веские причины для использования шестнадцатеричных значений по десятичной для значений цвета RGB в CSS?

rgb(255,255,255) нотация доступна с CSS1. Но #ffffff кажется гораздо более популярным.

Очевидно, это немного более компактно. Я знаю, что hex больше связан с базовыми байтами и понимает, что при выполнении арифметики эти значения будут иметь преимущества, но это не то, что вы собираетесь делать с CSS.

Ценности цвета, как правило, создаются дизайнерами (такими как я), которые никогда не встречаются с шестнадцатеричной нотации в другом месте и более знакомы с десятичной нотацией, которая является основным способом указания цвета в приложениях, которые они используют, - в факт, что я встретил немало людей, которые не понимают, как данное шестнадцатеричное значение разбивается на компоненты RGB и предполагает, что оно напрямую не связано с цветом, например, с ссылкой на систему цветов Pantone (например, PMS432).

Итак, по какой-либо причине не использовать десятичную цифру?

4b9b3361

Ответ 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.