IE6的渐变不起作用

时间:2011-09-19 19:00:32

标签: css internet-explorer-6 gradient

我在网页上有几个div,它们使用IE css过滤器为背景创建渐变效果。

该页面主要在IE6中查看(我别无选择),并在我的开发机器上显示正常。我也尝试使用IETester查看页面,该页面在IE 5.5到IE 8中也可以正常显示。

但是,在“实时”机器上查看页面时,渐变不会显示。 “live”机器上的浏览器是带有sp3的IE 6。我检查了div,他们都有“hasLayout”,所以这不是问题。

IE中是否有任何可以阻止过滤器工作的设置,或者是否有人提出任何其他原因导致它们无法显示。我无法理解为什么他们在一个版本的IE 6中工作而不是另一个版本。

不幸的是,我无法链接到任何示例。

由于

1 个答案:

答案 0 :(得分:2)

IE的filter功能未内置于浏览器中;他们正在使用外部库(DLL)。这就是'progid'部分的全部内容,也解释了为什么它们中的一些如此笨重。

如果客户端计算机上未安装这些DLL,则filter样式将不起作用。如果它适用于某些IE6机器但不适用于其他机器,那么这几乎肯定是您遇到的问题。

理论上,您应该可以通过安装缺少的DLL来解决问题。

然而,问题在于,如果客户端足够肛门还没有从IE6升级他们的浏览器,那么很可能肯定他们不想让你在他们的机器上摆弄未知(对他们而言)图书馆。在任何情况下,您都必须为每台机器执行此操作。

最重要的是,实际上这不是一个选择。你最好的选择是放弃尝试让IE6做一些奇特的东西,然后回到使用背景图像为你的渐变。编写它并不令人愉快,但是当IE6是标准浏览器时,每个人都习惯这样做是有原因的。