即9支持过滤器和rgba

时间:2012-08-06 13:58:55

标签: css filter internet-explorer-9 rgba

我一直在寻找解决方案2小时,这对我的情况来说不合适。

我使用rgba设置不透明度级别和背景颜色。但是你们都知道ie 8及以下不支持这个,所以我添加了一个过滤器来实现ie8及以下版本的ie。但我的问题是,即9将显示滤镜和rgba,使颜色不同。

生成了所有的css属性,所以在这里我只能添加单个属性(我不能使用<if gt IE9>或单独的css文件为ie9这样的东西)。我尝试使用一些css hack使rgba仅对于ie9是透明的,但像:root h{background-color:red/0\IE9;}这样的单一属性的css hack无法正常工作,css hack是否已被修复?

我的问题有解决方案吗?谢谢。

1 个答案:

答案 0 :(得分:1)

我建议的解决方案是从background-colour样式的IE9上的CSS黑客攻击转换为使用IE8及以下黑客而不是filter

最好的IE8及以下黑客使用的是\9 hack,as described here

这样的事情:

.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*/
}

根据您自己的需要调整上述内容。

希望有所帮助