У меня есть div с положением, установленным в absolute, и несколько div внутри него.Как только я добавляю фильтр непрозрачности к этому div, даже если opacity установлен на 100, дочерние div исчезают в IE7.
То же самое происходит, если я изменяю непрозрачность через jQuery даже без абсолютной позиции.
Кто-нибудь знает исправление?
Заранее спасибо
Пример
<style type="text/css">
#wrap {
opacity: 0.5; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; filter: alpha(Opacity=50); -moz-opacity: 0.50; -khtml-opacity: 0.5;
position:absolute;
}
#sub1 {
position:absolute;
width:200px;
height:200px;
background-color:#F00;
}
</style>
<div id="wrap">
<div id="sub1"></div>
</div>
Если обтекание имеет непрозрачность и абсолютную позицию, sub1 невидим в IE7
Второй сценарий:
#wrap {
position:absolute;
width:500px;
height:500px;
color:#fff;
filter: alpha(Opacity=100);
}
#sub1 {
position:absolute;
}
#sub2_bg {
width:500px;
height:500px;
background-color:#000;
position:absolute;
filter: alpha(Opacity=50);
}
#sub2_text {
position:absolute;
}
</style>
<div id="wrap">
<div id="sub1">
<div id="sub2_bg"></div>
<div id="sub2_text">sample text</div>
</div>
</div>
В этом сценарии текст «образец текста»Внутри sub2_text альфа-прозрачность составляет 50%, как только у обертки есть фильтр, даже если его непрозрачность = 100.Очевидно, что я мог бы удалить альфа (непрозрачность = 100), но та же проблема возникает, когда я анимирую непрозрачность переноса до .5 и обратно до 1, потому что тогда div получает фильтр.Я заметил, что только части, у которых есть альфа-прозрачный элемент div ниже, имеют эту проблему, если текст был больше, чем sub1_bg, будут затронуты только те части, которые находятся над sub1_bg.Опять же, только в IE 7.
Было бы неплохо, если бы кто-то мог показать мне исправление для этого тоже.Спасибо.