我一直在使用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 (?)
确保和遵循出现的说明。