我在网页上有几个div,它们使用IE css过滤器为背景创建渐变效果。
该页面主要在IE6中查看(我别无选择),并在我的开发机器上显示正常。我也尝试使用IETester查看页面,该页面在IE 5.5到IE 8中也可以正常显示。
但是,在“实时”机器上查看页面时,渐变不会显示。 “live”机器上的浏览器是带有sp3的IE 6。我检查了div,他们都有“hasLayout”,所以这不是问题。
IE中是否有任何可以阻止过滤器工作的设置,或者是否有人提出任何其他原因导致它们无法显示。我无法理解为什么他们在一个版本的IE 6中工作而不是另一个版本。
不幸的是,我无法链接到任何示例。
由于
答案 0 :(得分:2)
IE的filter
功能未内置于浏览器中;他们正在使用外部库(DLL)。这就是'progid'部分的全部内容,也解释了为什么它们中的一些如此笨重。
如果客户端计算机上未安装这些DLL,则filter
样式将不起作用。如果它适用于某些IE6机器但不适用于其他机器,那么这几乎肯定是您遇到的问题。
理论上,您应该可以通过安装缺少的DLL来解决问题。
然而,问题在于,如果客户端足够肛门还没有从IE6升级他们的浏览器,那么很可能肯定他们不想让你在他们的机器上摆弄未知(对他们而言)图书馆。在任何情况下,您都必须为每台机器执行此操作。
最重要的是,实际上这不是一个选择。你最好的选择是放弃尝试让IE6做一些奇特的东西,然后回到使用背景图像为你的渐变。编写它并不令人愉快,但是当IE6是标准浏览器时,每个人都习惯这样做是有原因的。