2012-10-18 119 views
2

這讓我瘋狂 - 我一直試圖讓IE8(和IE < 7)工作在不透明狀態,所以我添加了IE專用的css屬性-ms-filter(和filter較老的IE)。這在使用Visual Studio 2010的內置開發服務器的本地主機上運行很好,或者只是從磁盤打開html文件。不透明度IE8只能在本地主機上工作

但是,當查看它(或任何其他頁面使用filter,如http://www.quirksmode.org/css/opacity.html)時,我不會得到不透明度 - 只是一種純色。

我在這裏做了一個演示http://jsfiddle.net/3nvN9/9/ - 當在jsFiddle中查看div時,div顯示爲純黑色,但是如果我採用相同的代碼(這就是爲什麼我將它全部保存在html中)並從本地主機查看它或磁盤,我可以通過div看到文本。

下面是樣本頁面的完整代碼:

<!DOCTYPE html> 
<html> 
    <head> 
     <style> 
      div { 
       position: absolute;  
       top: 0;    
       height: 150px; 
       width: 150px; 
       background-color: black; 
       opacity: .3; 
       -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; 
       filter: alpha(opacity = 30); 
      } 
     </style> 
    </head> 
    <body> 
     <p>Can you see me?</p> 
     <div></div> 
    </body> 
</html>​ 

回答

1

寫這個問題,我意識到必須有事情做與IE的安全設置 - 尤其是因爲我是一個公司的網絡,可能是上相當鎖定。

通過設置我終於發現,它是二進制和腳本行爲設置導致問題。由於filter是ActiveX的一部分,因此它們也會被禁用。

找到設置後,我試着用Google搜索它,發現這個頁面很好地解釋了它。 http://paintincode.blogspot.de/2012/06/css-opacity-ie-filter-binary-and-script.html。我只希望能在知道設置的名稱之前就能找到它。 =)

相關問題