2011-08-26 48 views
0

我正在阅读关于不透明CSS的内容,并对IE进一步蔑视。任何人都可以看到这种逆向进展吗?IE counter-progress(CSS)

CSS为50%的不透明度...

除了IE浏览器的所有

opacity: .5;

在IE 5-7

filter: alpha(opacity=50);

在IE 8

-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";

[source]

他们建议在为了让你的CSS与IE一起工作,两个应该一起使用:

.opaque { 
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; 
    filter: alpha(opacity=50);     
} 

我想我的问题是,这是怎么回事?

回答

1

微软在IE9之前没有实现原生浏览器内CSS不透明度的支持。他们确实提供了一种方法让CSS在Windows中调用DirectX并让该系统处理这些事情。因此,过滤器和-ms-过滤器。过滤器是原始版本,但是是一个完全非标准的CSS属性,并且会导致css无法验证。在IE8中,他们至少会将属性名称更改为使用伪标准的前缀标记来表示它是非标准的。

+0

所以混淆的语法是一种免责声明的形式?我意识到这个'-ms-filter'标签调用额外的活动,我从来没有理解为什么他们的DirectX调用不会响应与其他浏览器响应相同的CSS语法。 –