这让我发疯了——我一直试图让不透明度在 IE8(和 IE < 7)中工作,所以我添加了 IE 特定的 css-property -ms-filter
(以及filter
旧版 IE)。使用 Visual Studio 2010 的内置开发服务器在 localhost 上运行效果很好,或者只是从磁盘打开 html 文件。
但是,在查看它(或使用http://www.quirksmode.org/css/opacity.htmlfilter
之类的任何其他页面)时,我没有得到不透明度 - 只是纯色。
我在这里做了一个演示http://jsfiddle.net/3nvN9/9/ - 在 jsFiddle 中查看 div 时,div 对我来说是纯黑色的,但是如果我使用相同的代码(这就是为什么我把它全部保存在html) 并从 localhost 或磁盘查看它我可以通过 div 看到文本。
以下是示例页面的完整代码:
<!DOCTYPE html>
<html>
<head>
<style>
div {
position: absolute;
top: 0;
height: 150px;
width: 150px;
background-color: black;
opacity: .3;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
filter: alpha(opacity = 30);
}
</style>
</head>
<body>
<p>Can you see me?</p>
<div></div>
</body>
</html>