Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
5.5+ | 1.0+ | 9.0+ | 3.1+ | 3.6+ | 1.0+ | 2.0+ |
Сделать блочный элемент со всем его содержимым полупрозрачным.
Для изменения степени прозрачности элемента применяется стилевое свойство opacity со значением от 0 до 1, где 0 соответствует полной прозрачности, а 1, наоборот, непрозрачности объекта. В браузере Internet Explorer это свойство не работает, поэтому специально для него приходится использовать filter, свойство, не входящее в спецификацию CSS. В примере 1 показано, как установить прозрачность слоя для всех браузеров.
Пример 1. Полупрозрачный слой
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Полупрозрачный слой</title> <style> body { background: url(images/star.png); /* Фоновый рисунок */ } .semilayer { padding: 5px; /* Поля вокруг текста */ background: #2bc671; /* Цвет фона */ margin: 0 auto; /* Выравниваем слой по центру */ width: 80%; /* Ширина слоя */ opacity: 0.7; /* Значение прозрачности */ filter: alpha(Opacity=70); /* Прозрачность в IE */ } </style> </head> <body> <div class="semilayer"> Очевидно проверяется, что интерполяция небезынтересно искажает интеграл Дирихле, таким образом сбылась мечта идиота — утверждение полностью доказано. </div> </body> </html>
Результат данного примера показан на рис. 1.
Рис. 1. Полупрозрачный слой в браузере Safari
Свойство filter добавляет прозрачность только для тех элементов, где установлен хотя бы один из размеров (width или height) или для элемента задано абсолютное позиционирование (position: absolute).
Также учтите, что прозрачность действует на всё содержимое слоя, включая дочерние элементы, и увеличить для них уровень непрозрачности за счет варьирования opacity не получится. В примере 1, где прозрачность слоя установлена как 0.7, текст внутри слоя получает такое же значение. Его допустимо установить меньше, но превысить значение прозрачности 0.7 текст уже не может.
Сайт