这让我发疯了 - 我一直试图在IE8(以及IE< 7)中使用不透明度,所以我添加了IE特定的css-property -ms-filter
(和{{ 1}}用于较旧的IE)。这在使用Visual Studio 2010内置开发服务器的localhost上运行良好,或者只是从磁盘打开html文件。
但是,在查看时(或使用filter
filter
等任何其他页面)我不会获得不透明度 - 只是纯色。
我在这里做了一个演示http://www.quirksmode.org/css/opacity.html - 在jsFiddle中查看时,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>
答案 0 :(得分:1)
写这个问题我意识到它必须与IE的安全设置有关 - 特别是因为我在公司网络上可能已被锁定。
通过设置我终于发现导致问题的是二进制和脚本行为设置。由于filter
是ActiveX的一部分,因此它们也会被禁用。
找到设置后,我尝试用谷歌搜索它,发现这个页面很好地解释了它。 http://paintincode.blogspot.de/2012/06/css-opacity-ie-filter-binary-and-script.html。我只希望在知道设置名称之前能够找到它。 =)