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

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

Это #RGBA или #ARGB?

Ответ 1

В 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 *)

По состоянию на май 2019 года> 80% пользователей могут понимать формат #RGBA

  • 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 18 (Edge 44) не поддерживают этот синтаксис. Версии Edge на основе хрома будут поддерживать этот синтаксис.

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

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

Ответ 2

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

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

rgba(#000, 0.5);

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

Ответ 3

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

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

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

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

EDIT (Patrick): цитата из приведенной выше ссылки W3

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

Ответ 4

Chrome 52+ поддерживает alpha hex:

background: #56ff0077;

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

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

Ответ 5

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

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