3

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

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

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

请问有什么办法可以解决我的问题吗?谢谢你。

4

1 回答 1

1

我建议的解决方案是将样式上的 IE9 上的 CSS hack 转换为background-colourfilter.

最好使用的 IE8 及以下 hack 是\9hack,如此处所述

所以是这样的:

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

以上根据自己的需要进行调整。

希望有帮助

于 2012-08-07T22:47:14.770 回答