我在透明的div中有一个白色/透明的徽标,位于图片的顶部。问题是,对于ie6,徽标的透明部分变为白色,它只是显示为白色方块。无论如何在使用ie时将div变为黑色背景?我正在使用mootools for JavaScript btw。
答案 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/是一个非常好的修复。