css不透明度在IE7中不起作用

时间:2010-05-31 14:02:59

标签: css internet-explorer-7 opacity

我有这个测试页面:http://jsfiddle.net/VWnm9/7/。所有运行IE7或IE8的计算机上的图像都正确褪色,除了一台运行IE7的计算机,即使在非文本模式下也不会淡化花。

页面是:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
    <style type="text/css">
        body {
            background: blue;
        }
        img {
            filter: alpha(opacity=10);
            opacity: 0.1;
        }
    </style>
</head>
<body>
    <img src="http://upload.wikimedia.org/wikipedia/commons/c/c3/Extracted_pink_rose.png" />
</body>
</html>

有人知道为什么吗?

4 个答案:

答案 0 :(得分:21)

您可能需要应用一些MS的过滤器。

例如:

img {
    opacity: 0.1;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=10)";
    filter: alpha(opacity=10);  
}

More info about opacity on quirksmode

答案 1 :(得分:0)

不是100%肯定,但这可能是因为IE在透明PNG上遇到opacity问题:请参阅this SO question

答案 2 :(得分:0)

我通常最终采用半透明的.PNG。当你需要支持IE6和某些版本的IE7

时,这是一个比CSS黑客更好的解决方案

答案 3 :(得分:0)

PNG图像在这种情况下效果很好。