仅对ie6使用opaque div

时间:2011-05-10 15:48:02

标签: javascript css mootools

我在透明的div中有一个白色/透明的徽标,位于图片的顶部。问题是,对于ie6,徽标的透明部分变为白色,它只是显示为白色方块。无论如何在使用ie时将div变为黑色背景?我正在使用mootools for JavaScript btw。

4 个答案:

答案 0 :(得分:4)

你可以使用IE hack:

<!--[if lt IE 7]>
   <style type='text/css'>

         .some_div {
              background: black;
          }    

   </style>
<![endif]-->

这将影响所有IE小于IE 7

答案 1 :(得分:1)

我认为你可以像这样使用条件样式表ie6:

<!--[if IE 6]>
  <link rel="stylesheet" href="YourStyle.css" type="text/css" media="all"/>
<![endif]-->

然后yorstyle.css文件将包含仅适用于ie6的css样式

答案 2 :(得分:1)

这可能是css solution

div {

background:transparent url(transparent.png);

}

<!--[If IE 6]>

<style type=”text/css”>

#transparent {

background:#fff none;

filter:alpha(opacity=50);

height:1%;

}

#transparent * {

    filter:alpha(opacity=100);

    position:relative;

}

</style>

<![endif]-->

另一种解决方案是停止支持IE6(我的偏好);)

答案 3 :(得分:1)

来自样板的

<!--[if lt IE 7 ]> <html class="no-js ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]>    <html class="no-js ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]>    <html class="no-js ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]-->

它在SAME样式表中提供甚至是浏览器特定的规则,不会引用影响性能的多个文件,内联代码和样式标记。

div.transparent {
    opacity: .6;
}

.ie6 div.transparent {
    filter:alpha(opacity=100);
    background: black;
}

你的问题听起来像是一个png alpha问题,但是,取决于。

如果您没有元素存储或绑定到元素的事件,

http://www.dillerdesign.com/experiment/DD_belatedPNG/是一个非常好的修复。