Шестнадцатеричное представление цвета с альфа-каналом?
Существует ли 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)
,
Может быть, не совсем то, что вы хотели, но, надеюсь, поможет.