Альфа-фильтр IE7 каскадно подключается ко всем остальным элементам ... как это остановить? - PullRequest
0 голосов
/ 22 февраля 2011

У меня есть эта страница, где у моего контейнера есть фоновое изображение, используя

background-color:rgba(255, 255, 255, 0.76); 
*background-color:#fff; 
*opacity: 0.8; 
*filter: alpha(opacity = 80); 

в Mozilla работает нормально; показывает полупрозрачный фон и элементы внутри полностью непрозрачные; но в IE7 прозрачность наследует все остальные элементы. Я попытался сделать новый контейнер внутри контейнера, давая

*opacity:1, *alpha(opacity=100), *zoom:1, *filter:none 

и прочее, но, похоже, ничего не работает ...

Ответы [ 2 ]

0 голосов
/ 22 февраля 2011

Вы должны использовать полупрозрачный фоновый рисунок, он будет работать в любом браузере (кроме IE6 ...)

0 голосов
/ 22 февраля 2011

Это происходит потому, что вы используете теги непрозрачности и фильтра CSS, которые будут наследоваться дочерними элементами.

Попробуйте использовать следующее:

.element{
   -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
   filter: alpha(opacity=80);
   -moz-opacity:0.8;
   -khtml-opacity:0.8;
   opacity:0.8;
}

.element *{
   -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
   filter: alpha(opacity=100);
   -moz-opacity:1.0;
   -khtml-opacity:1.0;
   opacity:1.0;
}

Это должно выбрать все дочерние элементы и установить их непрозрачность 100% и должно работать во всех браузерах

...