IE 9支持滤镜和RGBA。

3

我已经搜索了2个小时,但是没有一个适合我情况的解决方案。

我使用rgba来设置透明度和背景颜色。但是你们都知道ie8及以下版本不支持这个属性,因此我添加了一个滤镜来实现ie8及以下版本的兼容。但我的问题是ie9会同时显示滤镜和rgba,导致颜色不同。

所有的css属性都是自动生成的,所以我只能添加单个属性(不能使用<if gt IE9>或为ie9单独创建一个css文件之类的)。我尝试使用一些css hack来使rgba在ie9中变成透明的,但是像:root h{background-color:red/0\IE9;}这样的单个属性的css hack不起作用了,难道css hack已经被修复了吗?

请问有什么解决办法吗?谢谢。

1个回答

1
我建议的解决方案是,将你的CSS hack 从针对IE9的background-colour样式切换到在filter上使用IE8及以下版本的hack。
最好使用的IE8及以下版本的hack是\9 hack,如此描述
所以像这样:
.myclass {
    background-colour: #rrggbbaa;  /*insert your RGBA colour here.*/
    filter: alpha(opacity=50)\9;   /*the \9 should make it work only in IE8 and earlier*/
}

根据您自己的需求进行调整。

希望能对您有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接