2011-08-24 61 views
0

我使用<meta http-equiv="X-UA-Compatible" content="IE=8">使IE9呈現爲IE8。這已經解決了我的很多問題,但是因爲IE8不支持box-shadow我不得不使用filter: progid:DXImageTransform.Microsoft.Shadow(color='#333333', Direction=145, Strength=5);來獲得與我的影子類似的效果。現在,IE9確實支持box-shadow,但是我無法讓IE9使用box-shadow而不是filter強制IE9渲染爲IE8,但仍然使用CSS3屬性

有誰知道如何讓IE9渲染陰影?

+1

很顯然,'box-shadow'不再有效,因爲你強制IE9將網站呈現爲IE8。刪除'X-UA-Compatible'標題和'box-shadow'將會起作用。 – duri

+0

「陰影」過濾器看起來非常糟糕。 – thirtydot

+4

那麼,爲什麼你把IE9渲染成IE8呢?當然你的時間會更好地解決阻止IE9渲染正確的問題嗎? –

回答

1

如果它處於IE8模式,則無法使IE9使用其原生box-shadow

您可以:

  • 只需使用IE9模式,並確定你的頁面在它的工作 - 這是我會怎麼做。
  • 使用CSS3 PIE - 它可以在IE6-8中模擬box-shadow
0

爲什麼你強迫它呈現爲IE8,然後期待它呈現爲IE9? :) IE8沒有box-shadow支持,所以當IE8渲染爲IE8時,IE9忠實地禁用它。

如果你想讓IE9渲染盒子陰影,你必須將其設置爲IE9或EDGE渲染。如果您不得不保持x-ua兼容,那麼您必須使用過濾器。

注有IE8的不同語法...

/* For IE 8 */ 
-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000')"; 
/* For IE 5.5 - 7 */ 
filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000'); 

(例如,從http://robertnyman.com/2010/03/16/drop-shadow-with-css-for-all-web-browsers/搶下)

因爲這些都是非常討厭的理想,我建議你在發表了IE-僅樣式孤城有條件的評論。