2011-08-26 46 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語法。 –