Шестигранне зображення кольору з альфа-каналом?


117

Чи є W3 або будь-який інший примітний стандарт щодо подання кольору (включаючи альфа-канал) у шестигранному форматі?

Це #RGBA чи #ARGB?


8
Він надходить у джерело CSS Color Level 4 (див. Четверту точку кулі)
Šime Vidas

@ ŠimeVidas, якби ти сказав це у відповідь, я б тебе запросив.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

@cirosantilli Чи схожий я на те, що мені потрібен представник? :-P
Šime Vidas

1
@ ŠimeVidas lol, якщо ви хочете поділитися трохи тоді ... =)
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Тут є подібне специфічне для CSS питання: CSS-оксидальний код RGBA?
Джеймс Доннеллі

Відповіді:


82

У CSS 3, цитуючи специфікацію, "немає шістнадцяткових позначень для значення RGBA" (див. CSS рівня 3 рівня ). Натомість ви можете використовувати функціональні позначення rgba () з десятковістю або відсотками, наприклад, rgba (255, 0, 0, 0,5) буде 50% прозорим червоним. Канали RGB становлять 0-255 або 0% -100%, альфа - 0-1.

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

Станом на травень 2019 року> 80% користувачів можуть зрозуміти формат #RGBA

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

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

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


2
Відтепер Mozilla (Firefox 49) підтримує #RRGGBBAA, а #RGBA
Shiyaz

92

Схоже, що немає шістнадцяткового альфа-формату: http://www.w3.org/TR/css3-color/

У будь-якому випадку, якщо ви використовуєте CSS-препроцесор на зразок SASS, ви можете передати шестигранник до rgba: background:

rgba(#000, 0.5);

А препроцесор просто перетворює шістнадцятковий код в rgb автоматично.


15

Я не впевнений, чи існує офіційний стандарт -

RGBA - це представлення, яке я бачив для Web Macromedia, а інші використовують ARGB

Я вважаю, що RGBA є більш поширеним представництвом.

Якщо це допомагає, це з W3 для CSS3
http://www.w3.org/TR/css3-color/#rgba-color

EDIT (Патрік): цитата з вищенаведеного посилання W3

На відміну від значень RGB, для значення RGBA немає шістнадцяткових позначень


2
Також функцією CSS для визначення кольорів з альфами є rgba ()
Бурштин,

8
із розміщеного вами посилання W3: На відміну від значень RGB, для значення RGBA немає шістнадцяткових позначень.
Патрік Клуг

2
Я вже бачив # RGB, A раніше. Дивно.
Джошуа

Для Android-ресурсів, як видається, це ARGB: developer.android.com/reference/android/graphics/dravable/…
Дерек Курт

10

Chrome 52+ підтримує альфа-шістнадцятку:

background: #56ff0077;

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

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

3
Ні, це не відбувається, якщо не ввімкнути експериментальні веб-функції, оскільки це спричиняло проблеми на Android. Дивіться мою відповідь вище щодо інформації про підтримку браузера.
thelem

3

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

Можливо, не саме те, що ви хотіли, але сподіваємось, це допомагає.


1
Це було проголосовано, що здається трохи суворим. Він не відповідає на поставлене запитання, але питання не говорить про те, чому вони хочуть знати. Якщо вони просто хочуть використовувати RGBA-колір у CSS, то ця відповідь правильна.
thelem
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.