2

这让我发疯了——我一直试图让不透明度在 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>​
4

1 回答 1

1

写这个问题时,我意识到这与 IE 的安全设置有关——尤其是因为我在一个可能完全被锁定的公司网络上。

通过设置我终于发现是导致问题的二进制和脚本行为设置。由于filters 是 ActiveX 的一部分,它们也会被禁用。

找到设置后,我尝试用谷歌搜索它,发现这个页面很好地解释了它。http://paintincode.blogspot.de/2012/06/css-opacity-ie-filter-binary-and-script.html。我只希望在知道设置名称之前能够找到它。=)

于 2012-10-18T08:35:33.993 回答