Перейти к основному содержимому

Прозрачность изображения в CSS

Насколько прозрачным или непрозрачным выглядит элемент, задаётся свойством opacity.

Его значение лежит в диапазоне от 0.0 до 1.0: при 0.0 элемент полностью прозрачен, при 0.5 он прозрачен на 50%, а при 1.0, значении по умолчанию, полностью непрозрачен.

Пример

Prompt
Покажите три изображения рядом с разными значениями прозрачности: 0.2, 0.5 и 1.0 (по умолчанию). Используйте одно и то же изображение для всех трёх и подпишите каждое его значением прозрачности.
Результат: полная HTML-страница "}, {

Opacity и :hover

Частое сочетание — opacity с псевдоклассом :hover, чтобы прозрачность менялась при наведении курсора.

Пример

Prompt
Покажите изображение с прозрачностью 0.5 по умолчанию, которое меняется на прозрачность 1.0 при наведении. Используйте переход или прямое изменение прозрачности на псевдоклассе :hover.
Результат: полная HTML-страница "}, {

Обратный эффект наведения

Эффект работает и в обратную сторону: можно сделать так, чтобы изображения при наведении становились прозрачными, а не непрозрачными.

Пример

Prompt
Покажите изображения, которые по умолчанию полностью непрозрачны и становятся прозрачными (прозрачность 0.5) при наведении. Это обратный эффект наведения.
Результат: полная HTML-страница "}, {

Прозрачные блоки

Если добавить прозрачность к фону элемента через свойство opacity, каждый дочерний элемент станет таким же прозрачным, из-за чего текст внутри может быть трудно читать.

Пример

Prompt
Покажите четыре div-блока с зелёным фоном, каждый с разными значениями прозрачности: 1, 0.6, 0.3 и 0.1. Включите текст внутри каждого блока, чтобы показать, что дочерние элементы также становятся прозрачными при использовании свойства opacity.
Результат: полная HTML-страница "}, {

Прозрачность с помощью background-color

Дочерние элементы не затрагиваются, если отказаться от opacity и задать для background-color значение RGBA.

RGBA — это RGB плюс альфа-канал, который хранит прозрачность цвета. Записывается как rgba(red, green, blue, alpha), где alpha — число от 0.0 (полностью прозрачный) до 1.0 (полностью непрозрачный).

Пример

Prompt
Покажите четыре div-блока, используя значения цвета фона RGBA вместо свойства opacity. Используйте rgba(4, 170, 109, alpha) со значениями alpha 1.0, 0.6, 0.3 и 0.1. Включите текст внутри каждого блока, чтобы показать, что текст остаётся полностью непрозрачным.
Результат: полная HTML-страница "}, {

Текст в прозрачном блоке

Пример

RGBA для цвета фона блока поверх фонового изображения даёт прозрачный текстовый блок, текст которого остаётся читаемым.

Prompt
Создайте div с фоновым изображением (используйте klematis.jpg из PromptCookbook) и рамкой. Внутри него разместите ещё один div с полупрозрачным белым фоном, используя rgba(255, 255, 255, 0.6). Внутри прозрачного блока добавьте абзац с жирным чёрным текстом "Это некоторый текст, размещённый в прозрачном блоке."
Результат: полная HTML-страница "}, {