Подтвердить что ты не робот

Должны ли вы использовать rgba (0, 0, 0, 0) или rgba (255, 255, 255, 0) для прозрачности в CSS?

Должны ли вы использовать rgba(0, 0, 0, 0) или rgba(255, 255, 255, 0) для прозрачности в CSS?

Каковы плюсы и минусы каждого?

4b9b3361

Ответ 1

Последний параметр функции rgba() - это параметр "альфа" или "непрозрачность". Если вы установите его на 0, это будет означать "полностью прозрачный", и первые три параметра (каналы red, green и blue) не будут иметь значения, потому что вы не сможете увидеть цвет в любом случае.

Учитывая это, я бы выбрал rgba(0, 0, 0, 0), потому что:

  • это меньше набрав,
  • он хранит несколько лишних байтов из вашего файла CSS и
  • вы увидите очевидную проблему, если альфа-значение изменится на что-то нежелательное.

Вы могли бы вообще избегать модели rgba и использовать вместо этого ключевое слово transparent, которое согласно w3.org эквивалентно "прозрачный черный" и должен вычисляться до rgba(0, 0, 0, 0). Например:

h1 {
    background-color: transparent;
}

Это спасет вас еще пару байт, в то время как ваши намерения использовать прозрачность очевидны (в случае, если кто-то не знаком с RGBA).

Как и в CSS3, вы можете использовать ключевое слово transparent для любого свойства CSS, которое принимает цвет.

Ответ 2

Существует два способа сохранения цвета с альфой. Первое точно так же, как вы видите, с каждым компонентом как есть. Второй - использовать предварительно умноженную альфу, где значения цвета умножаются на альфу после преобразования ее в диапазон 0.0-1.0; это делается для облегчения compositing. Обычно вы не должны замечать или заботиться о том, какой путь реализуется каким-либо конкретным движком, но есть угловые случаи, где вы могли бы, например, если бы вы попытались увеличить непрозрачность цвета. Если вы используете rgba(0, 0, 0, 0), у вас меньше шансов увидеть разницу между этими двумя подходами.

Ответ 3

Там небольшая разница, когда u использует rgba (255,255,255, a), цвет фона становится все более светлым, так как значение a увеличивается от 0.0 до 1.0, Где, как и при использовании rgba (0,0,0, a), цвет фона становится все более темным, так как значение a увеличивается с 0.0 до 1.0. Сказав это, ясно, что оба (255,255,255,0) и (0,0,0,0) составляют фон прозрачный. (255,255,255,1) сделает фон полностью белым, где (0,0,0,1) сделает фон полностью черным.