2013-10-03 201 views
1

我正在设计一个div,它使用jQuery在选中时向div添加.active类。 div的背景是一个渐变,我想保留。我正在使用filter:属性在IE中显示渐变。活动类将背景修改为纯色,但在IE中,filter: CSS属性会覆盖.active样式。IE渐变滤镜背景覆盖活动背景颜色

有没有解决这个问题,所以.active类将在IE中显示正确的背景颜色?

见这个例子:http://jsbin.com/eDEjuzu/1/

感谢

回答

1

只需添加filter: none.active类。对于使用filter属性的IE6-9渐变覆盖正常的background值,因此除了更改背景颜色之外,您还需要取消hover上的渐变过滤器。

Updated JSBin

+0

哎呀,我不能beleive我没想到到设置为'过滤器:none'。感谢您的额外信息! – user2062244

+0

没问题!对于使用SVG代替过滤器的IE9,也有一种替代的渐变方法,它允许您执行多级渐变。我通常使用Colorzilla出色的[渐变编辑器](http://www.colorzilla.com/gradient-editor/)来实现复杂的渐变和向后兼容性。谢谢你标记这个答案:) – Ennui