2011-05-26 54 views
3

只是一個簡單的問題,這個css代碼將無法在ie8中投影陰影,任何想法爲什麼它不工作?快速下降陰影css問題ie8不能正常工作

/* Drop shadow */ 
-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000')"; 
filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000'); 
box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.7); 
-moz-box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.7); 
-o-box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.7); 
-webkit-box-shadow: 0px 10px 15px rgba(0, 0, 0, 0.7); 
+0

我從來沒有見過像這樣的CSS。你不能使用陰影圖像嗎? – Midas 2011-05-26 20:37:20

+1

@Midas它是CSS3和它的好處之一是,你不必再使用圖像:-) – andyb 2011-05-26 20:59:35

+0

我發現'-ms-filter'對於IE8是多餘的和不必要的。您在這裏找到了代碼:http://robertnyman.com/2010/03/16/drop-shadow-with-css-for-all-web-browsers/ – JohnB 2011-12-17 19:20:56

回答

3

我不知道如果這是一個IE8的錯誤,但如果添加了background-colorseems to work as expected

在Chrome中,刪除background-color會留下投影,但在IE8中,文本會繼承投影並看起來很糟糕。如果你有一個堅實的背景,你可以匹配你想要投影的元素的背景。不幸的是transparent導致IE8出現同樣的問題。

+0

如果使用http:// css-tricks.com/how-to-create-an-ie-only-stylesheet/ – Jung3o 2011-05-26 20:59:19

+0

謝謝你的建議。 – 2011-06-01 18:15:53

+2

這不是一個錯誤。如果沒有背景顏色,'filter:progid:DXImageTransform.Microsoft.Shadow()'僅爲文本創建一個陰影。 'box-shadow'是盒子陰影的CSS3屬性。所以要在IE中獲得相同的效果,你必須指定一個盒子。但這是解決問題的正確方法。 +1 – JohnB 2011-12-17 19:19:43

0

用陰影過濾器指定元素的寬度爲我解決了類似的問題。