【问题标题】:IE7 alpha filter cascading to all the other elements... how to stop it?IE7 alpha 过滤器级联到所有其他元素......如何阻止它?
【发布时间】:2011-02-22 14:43:17
【问题描述】:

我有这个页面,我的容器有一个背景图片,使用

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 

还有一些东西,但似乎没有任何效果......

【问题讨论】:

    标签: filter internet-explorer-7 transparency alpha


    【解决方案1】:

    您必须使用半透明背景图片,它适用于所有浏览器(IE6 除外...)

    【讨论】:

    【解决方案2】:

    这是因为您使用了 opacity 和 filter 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%,并且应该可以在所有浏览器中使用

    【讨论】:

    • 它不会起作用,因为父元素已经是透明的,你不能“重置”继承它的子元素的透明度。你确实需要一个“120%”的 alpha ;-)
    • ...所以...我搞砸了?不可能!!
    • 伙计们,我想出了一个解决方案:只需设置 rgb 颜色让 mozilla 识别它,而 ie7 hack 让资源管理器只显示一个透明 png,如下所示:codebackground-color:rgba (234、236、235、0.76); *背景图片:url(图片/wite70pc.png); code 刚刚做到了...
    猜你喜欢
    • 2011-07-12
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 2014-03-20
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    相关资源
    最近更新 更多