Альфа канал в CSS

Альфа канал в CSS

От автора: во всех цветовых системах в CSS есть дополнительный альфа компонент (канал), с помощью которого можно задавать уровень прозрачности. Об этом и поговорим в данной статье.

К примеру, чтобы установить наполовину прозрачный красный фоновый цвет блоку div с id genera, необходимо:

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

При добавлении альфа уровня используются цветовые схемы rgba и hsla. Это не новые системы, а всего лишь вариации rgb и hsl.

В системах rgba и hsla альфа уровень измеряется от 0 до 1, где 0 это «полная прозрачность», а 1 – полная непрозрачность. Прозрачный цвет создается при помощи значений с плавающей точкой; Цвет со значением альфа, равным 1 не отличается от цвета без альфа компонента.

Частично прозрачный элемент будет отображаться с учетом цвета элементов под ним: по большей части это элемент body.

Как значение с плавающей точкой, альфа канал можно записывать как с нулем, так и без него. Но стандартная запись «0.3» более читаема. Обратите внимание, что запись цвета в формате rgb (а не rgba), но с альфа компонентом приведет к тому, что код не будет работать. То же самое будет, если записать цвет в формате rgba, но забыть указать значение альфа канала.

Все современные браузеры поддерживают альфа канал, даже IE9+. Начинающие разработчики часто путаются между свойством opacity и альфа прозрачностью, по этому поводу я написал небольшую статью, в которой объясняю разницу между ними.

Цвет hex с альфа каналом?

Можно создавать hex цвета с альфа компонентом, такие цвета называются шестнадцатеричными:

В коде выше записан полупрозрачный красный цвет. Если значения повторяются, то их можно урезать:

Альфа канал для шестнадцатеричных цветов – новая функция, и на данный момент работает только в альфа версиях браузеров. По этой причине ее нельзя использовать в работе, если только вы не используете компилятор типа Sass или PostCSS, которые конвертируют запись вида #rrggbbaa в rgba или hsla эквивалент.

Источник: //thenewcode.com/

Редакция: Команда webformyself.

Метки:

Похожие статьи:

Комментарии Вконтакте: