IE CSS“过滤器”打破了alpha透明度

时间:2011-08-10 14:40:32

标签: css internet-explorer css3 transparency

我正在试图弄清楚这个奇怪的问题是否有一个奇怪的解决方案。

基本上,IE> = 7完全支持PNG透明度,并且通过“过滤器”属性中的奇怪设置,它还支持CSS3中许多新的酷炫功能。

但是,当您将滤镜应用于具有PNG背景的元素时,该背景的Alpha透明度基本上会中断(与IE6的操作非常相似)。

如果可能的话,我想使用其他浏览器给我的CSS3属性,并在IE中获取它们,而不是在JS(转换)中实现它们或者根本不实现它们(轮换),但我不能除非我找到了解决半透明度问题的方法。

你们有没有发现这个问题并修复它?


编辑:添加了一些代码,虽然我不确定它的例子很多:

#.faded {
    filter:progid:DXImageTransform.Microsoft.Fade(duration=2)
}

当我添加这个时,PNG不透明度会在IE中针对这些元素而中断。它实际上发生在所有过滤器上,或者至少我尝试过的所有过滤器。


谢谢! 丹尼尔

2 个答案:

答案 0 :(得分:1)

您是否尝试过CSS3 PIE或其他第三方解决方案 - 如果现有解决方案已经有效,则无需重新发明轮子。

答案 1 :(得分:0)

我可以参加的最佳尝试是:http://jsfiddle.net/xtT6b/

重点是将具有滤镜的块与具有背景的块分开,并将alphaImageLoader滤镜添加到具有背景的块中。

但是,它并不理想,在某些图像的IE7中,结果可能会很好,但在其他图像上会有一些文物。