24.03.2015

Как разместить полупрозрачный блок поверх слайдера?

На некоторых сайтах можно увидеть слайдер фотографий с размещенным поверх всего полупрозрачным блоком с какой-то надписью.


Это скриншот:

Скриншот

Фотографии меняются, а текст остается неизменным.

Конечно, можно такую штуку реализовать с помощью скрипта, но мне кажется что гораздо проще это сделать, используя CSS.

Возьмем, к примеру, два обычных блока, описанных с помощью тега <div>. Описываю произвольно, главное, чтобы они были разных размеров и цветов, чтобы можно было продемонстрировать их взаимное расположение.

 <style> #one {
width:200px;
height:100px;
background:rgba(13,350,56,1); 
}

#two{
width:250px;
height:80px;
background:rgba(213,350,56,1); 
}

</style>

<div id="one">ONE</div>
<div id="two">TWO</div>
ONE
TWO

Как видите, блоки располагаются друг под другом, так как и были описаны. Однако с помощью атрибутов мы можем блоки сдвинуть. Добавим в описание второго блока несколько строчек, сдвигающих блок вверх и вправо и изменим уровень прозрачности в атрибуте background с 1 до 0.8:

#two{
width:250px;
height:80px;
background:rgba(213,350,56,0.8); 
position: relative;
top: -90px;
left: 70px;

ONE
TWO

Второй блок разместился поверх первого и стал немного прозрачным.

Первый блок может содержать и тексты, и фотографии, и даже слайдер. То, что нам нужно.

Правда, нужно учесть еще один нюанс.

Чтобы второй блок наверняка располагался поверх первого, а не наоборот, к его описанию надо добавить еще один атрибут z-index.

Блоки на экране могут накладываться в несколько слоев. Чтобы четко определить какой блок "ближе" какой "дальше" каждому из них с помощью z-index присваивается значение глубины. Чем больше цифра, тем ближе блок к смотрящему на экран. Так что к описанию нашего блока TWO нужно добавить еще одну строчку вида z-index:100;