Как стать автором
Обновить

Правильная прозрачность

Время на прочтение2 мин
Количество просмотров86K
dfsdfs

Однажды мне понадобилось сделать прозрачные боковые поля для одного дизайна. Я решил использовать прозрачность CSS.

Но каково было узнать, что все элементы внутри прозрачного блока тоже становятся прозрачны и это никак не изменить :-(, тогда мне пришлось использовать прозрачный png.

Недавно я наткнулся на замечательную технику, позволяющую устранить эту проблему, ею я и хочу с вами любезно поделиться.


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

Вот так выглядит наш блок:
<div id=«container»>

<h1>Привет, я прозрачный блок</h1>

Текст внутри блока. Текст внутри блока. Текст внутри блока.

</div>


Теперь добавим прозрачную подложку:
<div id=«container»>

<div class=«transparency»>
<!-- Это прозрачный блок-->
</div>

<div class=«content»>
<h1>Привет, я прозрачный блок</h1>
Текст внутри блока. Текст внутри блока. Текст внутри блока.
</div>
</div>


Теперь перейдем к оформлению css:
#container {
padding:20px;
width:300px;
color:#FFFFFF;
position:relative;
float:left;
margin-left:20px;
overflow:hidden;
}

#container .transparency {
  opacity:0.5;
  filter:alpha(opacity=50);
  -moz-opacity:0.5;
background-color:#000000;
width:340px;
height:1500px;
position:absolute;
  top:0px;
  left:0px;
z-index:-1;


.content {
position:relative;


Готово! Теперь все элементы внутри блока не изменят свою прозрачность. Для полного счастья, я решил написать небольшой скрипт на jQuery, который всё автоматизирует.

Вам будет достаточно лишь добавить класс transp к вашему блоку:
<div id=«container» class=«transp»>

<h1>Привет, я прозрачный блок</h1>

Текст внутри блока. Текст внутри блока. Текст внутри блока.

</div>


И конечно, сам jQuery код:
$(document).ready(function() {
$(".transp").wrapInner('<div>').children().addClass(«content»);
$(".transp .content").before('<div>').prev().addClass(«transparency»);
});

На мастера jQuery я, конечно, не претендую, но это работает!

Посмотреть демо
Скачать демо

Подписаться на заметки от Чернева
Теги:
Хабы:
Всего голосов 3: ↑3 и ↓0+3
Комментарии56

Публикации

Истории

Ближайшие события

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область