Функция rgba()

Стилевая функция rgba() (от англ. «red, green, blue, alpha» — «красный, зелёный, синий, альфа») позволяет задать цвет в формате RGBA в виде набора трёх компонент цвета (красной, зелёной, синей) и альфа-канала.

Функция rgba() похожа на rgb(), но с добавлением альфа-канала, который устанавливает уровень прозрачности цвета.

Синтаксис

свойство: rgba(<число>#{3}, <альфа>?);
свойство: rgba(<проценты>#{3}, <альфа>?);
свойство: rgba([<число> | <проценты>]{3} [/ <альфа>]?);

Современные браузеры поддерживают форму записи, когда значения функции rgba() перечисляются через пробел:

color: rgba(204 62 114 / 0.8);

Для совместимости браузеры понимают и традиционную форму записи, когда значения перечисляются через запятую.

color: rgba(204, 62, 114, 0.8);
Описание Пример
<тип> Указывает тип значения. <размер>
A && B Значения должны выводиться в указанном порядке. <размер> && <цвет>
A | B Указывает, что надо выбрать только одно значение из предложенных (A или B). normal | small-caps
A || B Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. width || count
[ ] Группирует значения. [ crop || cross ]
* Повторять ноль или больше раз. [,<время>]*
+ Повторять один или больше раз. <число>+
? Указанный тип, слово или группа не является обязательным. inset?
{A, B} Повторять не менее A, но не более B раз. <радиус>{1,4}
# Повторять один или больше раз через запятую. <время>#

Значения

Значение каждой компоненты цвета может быть целым числом от 0 до 255 или в виде процентов от 0% до 100%, значение альфа меняется от 0.0 (полная прозрачность) до 1.0 (полная непрозрачность).

Некоторые популярные цвета в формате RGB приведены в табл. 1.

Табл. 1. Значения цвета
Цвет в формате RGBA Цвет в шестнадцатеричном значении Цвет
rgba(0 0 0) #000000
rgba(0 0 0 / 0.5) #00000080
rgba(255 255 255) #ffffff
rgba(221 221 221) #dddddd
rgba(221 221 221 / 0.5) #dddddd80
rgba(255 0 0) #ff0000
rgba(255 0 0 / 0.5) #ff000080
rgba(0 255 0) #00ff00
rgba(0 255 0 / 0.5) #00ff0080
rgba(0 0 255) #0000ff
rgba(0 0 255 / 0.5) #0000ff80
rgba(255 255 0) #ffff00
rgba(255 255 0 / 0.5) #ffff0080
rgba(255 0 255) #ff00ff
rgba(255 0 255 / 0.5) #ff00ff80
rgba(0 255 255) #00ffff
rgba(0 255 255 / 0.5) #00ffff80

Пример

<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>rgba()</title> <style> body { background-color: rgba(134 187 176); /* Цвет фона */ } hgroup h1 { color: rgba(0 0 0 / 0.6); /* Цвет заголовка */ } hgroup p { color: rgba(255 255 255 / 0.9); /* Цвет текста */ } </style> </head> <body> <hgroup> <h1>Ошибка 404</h1> <p>Запрашиваемый документ не найден</p> </hgroup> </body> </html>

Спецификация

CSS Color Module Level 4

Браузеры

Традиционная форма (через запятую) 9 12 4 10 3.1 3
Современная форма (через пробел) 79 66 53 12.1 52
Традиционная форма (через запятую) 37 4 12 3.2
Современная форма (через пробел) 65 52 47 12.2

В таблице браузеров применяются следующие обозначения.

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

Число указывает версию браузреа, начиная с которой элемент поддерживается.