Шестнадцатеричное представление цвета с альфа-каналом?

Существует ли W3 или любой другой заслуживающий внимания стандарт о том, как представлять цвет (включая альфа-канал) в шестнадцатеричном формате?

Это #RGBA или #ARGB?

5 ответов

Решение

В CSS 3, чтобы процитировать из спецификации, "нет шестнадцатеричного обозначения для значения RGBA" (см. Спецификацию CSS уровня 3). Вместо этого вы можете использовать функциональную нотацию rgba() с десятичными или процентными значениями, например, rgba(255, 0, 0, 0.5) будет на 50% прозрачно-красным. Каналы RGB - 0-255 или 0%-100%, альфа - 0-1.

В CSS 4* вы можете указать альфа-канал, используя 7-й и 8-й символы 8-значного шестнадцатеричного цвета или 4-й символ 4-значного шестнадцатеричного цвета (см. Спецификацию CSS уровня 4 *)

Поддержка браузера с сентября 2018

  • Firefox поддерживает этот синтаксис начиная с Firefox 49 ( ошибка Mozilla 567283).
  • Safari поддерживает этот синтаксис начиная с Safari 10.
  • Chrome поддерживает этот синтаксис начиная с Chrome 62. В более ранних версиях вы могли включить экспериментальные веб-функции для использования этого синтаксиса. См. Chromium Issue 618472 и Webkit bug 150853.
  • Приложения Android, предназначенные для Android P или новее, могут использовать этот синтаксис
  • Opera поддерживает этот синтаксис в Opera 52 (или Opera 39, когда включены экспериментальные веб-функции).
  • IE 11 и EdgeHTML 17 (Edge 42) не поддерживают этот синтаксис.

Актуальная информация о поддержке браузера доступна на CanIUse.com

* Технически все еще в черновике, но с учетом поддержки браузера это вряд ли изменится.

Похоже, что нет шестнадцатеричного альфа-формата: http://www.w3.org/TR/css3-color/

В любом случае, если вы используете препроцессор CSS, такой как SASS, вы можете передать гекс в rgba: фон:

rgba(#000, 0.5);

И препроцессор просто конвертирует шестнадцатеричный код в rgb автоматически.

Я не уверен, есть ли официальный стандарт

RGBA - это представление, которое я видел для Web Macromedia, и другие используют ARGB

Я считаю, что RGBA является более распространенным представлением.

Если это поможет, это от W3 для CSS3
http://www.w3.org/TR/css3-color/

РЕДАКТИРОВАТЬ (Патрик): цитата из вышеупомянутой ссылки W3

В отличие от значений RGB, для значения RGBA нет шестнадцатеричной записи

Chrome 52+ поддерживает альфа-гекс:

background: #56ff0077;

Для старых браузеров вам придется использовать:

background-color: rgba(255, 220, 0, 0.3);

Вы можете попробовать поместить шестнадцатеричный цвет в палитру цветов GIMP или фотомагазина, чтобы получить значение RGB, а затем использовать значение альфа. например. красный цвет #FF0000 или же rgb(255,0,0Если вы хотите красный с альфа-значением.5, то rgba(255,0,0,.5),

Может быть, не совсем то, что вы хотели, но, надеюсь, поможет.

Другие вопросы по тегам