0

我正在为客户开发一个“单页”网站。该网站在大多数浏览器中按我想要的方式显示,但是我在 Windows XP 上安装的 Internet Explorer 8 的特定组合中遇到了问题。

由于客户的要求和图形设计师的设计相结合,不同的元素被放置在彼此之上,并且需要根据导航淡入或淡出。

在 IE9&10(包括开发人员工具中的 IE8 文档属性)、Chrome 以及 Win2K8 服务器上的 IE8 等浏览器中一切正常。

然而,在 IE8 中,不可见元素的透明度似乎是由同一位置的“将是”可见的兄弟姐妹继承的。

我搜索了不同的解决方案并尝试了不同的方法,例如:

opacity: 0;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
-filter: alpha(opacity=0);

还有一个额外的但大多是不必要的:

display: block; 

或者

zoom: 1;

但以上都没有奏效。

有没有人经历过或解决过这个问题。或者是在 IE8 中的同一位置淡化多个元素,这不是正确的方法。

请参阅此小提琴以了解我的预期功能:http: //jsfiddle.net/6HZGw/11/

PS。我试图发布我的问题的确切图像,但由于我刚刚注册,这不可能作为垃圾邮件预防措施。

所以这里是问题的链接:http:
//img338.imageshack.us/img338/4458/ie8f.png

以及预期视图的链接:http:
//img255.imageshack.us/img255/8391/chromeothers.png

4

1 回答 1

0

IE8 的不透明度过滤器真的很糟糕。它在某些时候有点工作,但它充满了错误和陷阱。jQuery 让它稍微不那么痛苦,但即便如此,它也很容易被其中一个怪癖所吸引。

我现在没有可用的 IE8 或 XP 来测试它,但我自己也走上了这条路,也遇到了类似的结果,特别是在处理多个元素时,尤其是当这些元素是文本和图形的混合时.

正如我所说,我现在无法亲自尝试,但我的猜测是您遇到了无法解决的问题之一。所以我建议寻找替代解决方案。

In our case, after a lot of work, we ended up completely abandoning the idea of fading the elements in and out because of this, and switched to a tactic of sliding them out from behind other elements. The effect was similar enough that the customer was happy, and it worked in all browsers.

于 2013-02-04T22:41:58.143 回答