Каковы различия между RGB и RGBA, кроме "непрозрачности"

я вышел за рамки использования стандартных цветов в CSS, объявив их orange, blue, aquamarine, etc... и использую rgb() как так же цветов, соответственно, rgb(255,165,0), rgb(0,0,255) и rgb(127,255,212) (спасибо ColorHighlighter пакет в ST3).

при изменении градиента для bootstrap .btn я наткнулся на rgba(). Быстрое исследование объясняет, что a расшифровывается как alpha, и есть целая куча интегральной математики, приписываемой Catmull и Смит. Также несколько легко найти, что альфа-канал используется для" Альфа-композитинга", который в основном может быть связан как"непрозрачность".

  • существуют ли различия между этими двумя, кроме непрозрачности?
  • почему это не конвенция для использования 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+.).

http://www.w3schools.com/cssref/css_colors_legal.asp


rgb-стандартные значения rgb (красный, зеленый, синий)

rgba-стандартные значения rgb (красный, зеленый, синий + Альфа (он же непрозрачность))

вы не найдете никаких цветовых вариаций. RGBA является свойством цвета css3.

поскольку поддержка старых браузеров может быть ограничена, вы можете использовать резервный цвет как таковой:

CSS:

div {
    background-color: rgb(200, 54, 54); /* The Fallback */
    background-color: rgba(200, 54, 54, 0.5); 
}

RGB с стандартные цвета rgb, вы уже понимаете это.

RGBA и стандартные цвета rgb, но с Альфой / непрозрачностью также.

кроме этого нет никакой разницы, цвета по-прежнему кодируются одинаково.

проблема с использованием этого и других С помощью CSS3 цветовые стили-это то, что он не всегда поддерживается. Вот ссылка я нашел, что говорит вам, какие версии браузеров поддерживают он.

объявления Альфа на в CSS будет выглядеть так rgba(0, 0, 0,.3) с Альфой, являющейся десятичным или целым числом от 1 to 0. 1 тупить и 0 полностью прозрачный.