我一直在寻找解决方案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是否已被修复?
我的问题有解决方案吗?谢谢。
答案 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*/
}
根据您自己的需要调整上述内容。
希望有所帮助