为什么彩色渐变在IE中不起作用?



我一直在使用colorzila工具来生成一些css渐变。它们适用于我测试过的所有浏览器,除了IE9;我还没试过其他的IE。他们的UI上有一个IE复选框。当我将它设置为on时,梯度样本不再具有梯度;默认为基础纯色。

我认为它应该在IE中工作,因为它们确实包含以下css函数

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#221f1f', endColorstr='#221f1f',GradientType=1 ); /* IE6-9 */

http://www.colorzilla.com/gradient-editor/_

我建议放弃那些可怕的filter样式。有一个更简单、更兼容的解决方案。CSS3Pie是一个允许IE使用标准CSS渐变语法的库。

它比filter更容易使用,也更容易在代码中维护。它可以在所有版本的IE中工作,而且它还可以为其他一些CSS功能(如border-radius)提供相同的技巧。

另外,我要指出你的代码片段中的注释是不正确的——你的代码片段说"IE6-9",但实际上filter样式在IE9中已经停止了,支持标准的CSS语法。

不幸的是,这对你来说是个问题,因为IE9也不支持标准的CSS渐变。他们拿走了一些有用的东西,代之以……没有(在这种情况下)。

幸运的是,CSS3Pie允许渐变,即使在IE9,所以它是解决你的问题。

希望对你有帮助。

在css下有一个按钮叫做

IE9 Support (?)

确保遵循出现的说明。

最新更新