Чтобы на оверлей не влияла непрозрачность #div1
, ее нельзя поместить в #div1
. Вам нужно будет использовать контейнер:
<div id="container">
<div class="overlay"></div>
<div id="div1">
<form/>
</div>
</div>
Конечно, это контейнер, который вы откроете в диалоговом окне:
$("#container").dialog({
modal: true
});
Вам нужно будет разделить ваш CSS на два селектора. Поскольку .overlay
- это не что иное, как DIV
, вам необходимо присвоить ему высоту.
#div1 {
opacity: .5;
}
.overlay {
background-image: url(http://www.x-works.de/images/ajax_loader.gif);
background-repeat: no-repeat;
z-index: 2;
position: absolute;
height: 48px;
width: 48px;
}
Наконец, чтобы центрировать оверлей, установите для него значение left: 50%
(которое заставит его запускаться после 50% контейнера) и настройте его на минус половину его размера, чтобы получить центр оверлей, а не его левый угол находится в центре. Затем повторите для высоты:
.overlay {
background-image: url(http://www.x-works.de/images/ajax_loader.gif);
background-repeat: no-repeat;
z-index: 2;
position: absolute;
height: 48px;
width: 48px;
left: 50%;
top: 50%;
margin-left: -24px;
margin-top: -24px;
}
Рабочий пример