Чем отличаются RGB от RGBA, кроме непрозрачности
Я вышел за рамки использования стандартных цветов в CSS, объявив их orange
, blue
, aquamarine
и т. д., и использовали rgb()
как и для тех же цветов соответственно, rgb(255,165,0)
, rgb(0,0,255)
а также rgb(127,255,212)
(благодаря пакету ColorHighlighter в ST3).
После изменения градиента для начальной загрузки .btn
Я наткнулся rgba()
, Быстрое исследование объясняет, что a
обозначает alpha
и есть целая куча интегральной математики, приписываемой Кэтмаллу и Смиту. Также довольно легко обнаружить, что альфа-канал используется для "альфа-композитинга", который в основном может быть связан с "непрозрачностью".
- Есть ли различия между ними, кроме непрозрачности?
- Почему не принято использовать RGBA (я предполагаю это, так как только сейчас наткнулся на это)
- Существуют ли другие ограничения, которые следует знать при использовании rgba() для Интернета?
- Есть ли ярлык для объявления непрозрачности рядом с цветным ярлыком? (т.е.
color: salmon:.5;
) - С точки зрения веб-разработчика, нужно ли беспокоиться о различиях между порядком байтов ARGB, RGBA, BGRA для разных машин? INFO?
- Другая важная информация?
3 ответа
RGB - это 3-канальный формат, содержащий данные для красного, зеленого и синего цветов. RGBA - это 4-канальный формат, содержащий данные для красного, зеленого, синего и альфа-канала.
Нет никакого смысла в альфа-канале, кроме как сделать цвет прозрачным / непрозрачным (или частично прозрачным; полупрозрачным).
В CSS у rgb() была широкая поддержка браузеров в течение нескольких лет, прежде чем rgba() получила такой же уровень поддержки. Это одна из причин, по которой вы найдете больше rgb() в CSS, чем rgba(). Другая причина в том, что прозрачность - это не то, что вы обычно используете везде.
Вы можете найти значение RGB, упакованное в 16 бит, с 5 битами для синего и красного и 6 битами для зеленого (зеленый получает больше бит, потому что глаз более различим для оттенков зеленого). Вы также можете найти значение RGBA, упакованное в 16 бит, по 5 бит для каждого цвета и 1 бит для альфа. С помощью одного бита вы можете сделать цвет полностью прозрачным или не совсем прозрачным.
Обычно в наши дни RGB и RGBA упакованы в 32-битные значения, по 8 бит для каждого цвета и 8 бит для альфа (или оставлено пустым для RGB).
В CSS разработчики решили использовать значения 0-255 (диапазон для 8-битного значения) для красного, зеленого и синего, но они используют значение от 0,0 до 1,0 для альфа-канала. Фактический формат байтов для цвета не имеет значения для веб-разработчиков.
По моему опыту, ни rgb(), ни rgba() не очень часто используются в CSS. Шестнадцатеричные цвета являются более доминирующими и предшествуют им еще на несколько лет.
HSL на самом деле является гораздо лучшим форматом для работы с цветами и поддерживается в CSS (IE9+, Firefox, Chrome, Safari и в Opera 10+.).
RGB - это стандартные цвета RGB, вы уже это понимаете.
RGBa - это стандартные цвета RGB, но также с альфа / непрозрачностью.
Кроме этого нет никакой разницы, цвета все еще кодируют то же самое.
Проблема с использованием этого и других стилей цвета CSS3 заключается в том, что он не всегда поддерживается. Вот ссылка, которую я нашел, которая говорит вам, какие версии браузеров поддерживают ее.
Объявление альфы в CSS выглядело бы так: rgba(0, 0, 0, .3) с альфа-десятичным или целым числом от 1 до 0. 1 непрозрачный, а 0 полностью прозрачный.
rgb - стандартные значения rgb (красный, зеленый, синий)
rgba - это стандартные значения rgb (красный, зеленый, синий + альфа (прозрачность))
Вы не найдете цветовых вариаций. RGBA - это свойство цвета css3.
Поскольку поддержка старых браузеров может быть ограничена, вы можете использовать запасной цвет как таковой:
CSS:
div {
background-color: rgb(200, 54, 54); /* The Fallback */
background-color: rgba(200, 54, 54, 0.5);
}