2009-11-20 41 views
88

我使用proprietry MS'filter'屬性來嘗試創建一個與css3文本陰影和box-shadow不相等的醜陋等價物;如何重置或覆蓋IE CSS過濾器?

我確實做得很好,直到我遇到這個問題。它看起來像當我將過濾器應用於另一個具有過濾器的div中的過濾器時,過濾器效果最終會結​​合到該子對象上。

我無法解釋它比這更好,這裏有一個演示: http://cableflow.dev.arc.net.au/test/filters.html

我一直在使用過濾器的嘗試:無;做一次重置但沒有快樂。我也嘗試了不同的語法變體,即「-ms-filter:'progid:... Glow()'」,「filter:progid:... Glow()」,「filter:Glow()」等。

測試在IE8

+8

這對我有用:'filter:;' – 2011-08-01 15:25:46

+1

filter :;不能用lessphp css預處理器,filter: - ;儘管如此。 – 2012-06-27 04:51:17

+0

使用'filter:;'。我猜這會迫使IE去除所有屬性,因爲它不是一個有效的值。 – 2013-03-06 05:59:04

回答

6

我已經通過定位孩子絕對或相對一些成功。這似乎並沒有早些工作,所以它可能會再次打破,一旦我變得更加複雜

我認爲一旦家長有一個過濾器應用所有的孩子本質上成爲directx表面內部。你仍然可以選擇文本,但它滯後。我認爲文本選擇是一種破解,使每個字母都是獨立的表面。這是一個很糟糕的混亂,很長一段時間來解釋爲什麼一般瀏覽器和過濾器特別是如此怪異。

+0

爲我工作。非常感謝! – molf 2011-11-17 11:00:12

1

您是否嘗試過enable/disable的過濾器?

+2

它不起作用,您不能覆蓋孩子的父母過濾器。 – SpliFF 2010-01-13 04:00:58

16

試試這個:

filter: - ;

+0

在IE7中爲我工作,而-ms-filter:「progid:DXImageTransform.Microsoft.gradient(enabled = false)」;沒有。Thx – 2012-11-19 19:48:34

+0

@SimonArnold「-ms-filter」僅支持IE8及以上; IE7只支持「過濾器」屬性。請參閱http://msdn.microsoft.com/en-us/library/ie/ms530752(v=vs.85).aspx。 – vee 2013-01-23 15:55:25

95

有能布爾屬性,以便您可以設置真正 http://msdn.microsoft.com/en-us/library/ms532997%28v=vs.85%29.aspx

例子:

-ms-filter: "progid:DXImageTransform.Microsoft.gradient(enabled=false)"; 
+4

對我來說這個工作,但我不得不使用'!重要' – 2011-08-31 09:23:24

+1

謝謝!這對我有效。我有一種討厭的背景風格,不管我多麼努力,都不會消失,找不到它。 – racl101 2012-11-12 20:13:29

+0

謝謝!按鈕的漸變過濾器不能很好地播放,然後在某些按鈕上放置背景圖片 - 過濾器會過濾圖片... – Adam 2013-03-12 07:35:27

0

我已經找到了最好的辦法是顯示:內聯-block(將空白:nowrap應用於容器)。但它似乎工作不好用IE7和較低

6

如果您使用HTML5,你可能要往下走的路線使用

<!doctype html> 
<!--[if lt IE 7 ]> <html lang="en" class="ie6 oldie"> <![endif]--> 
<!--[if IE 7 ]> <html lang="en" class="ie7 oldie"> <![endif]--> 
<!--[if IE 8 ]> <html lang="en" class="ie8 oldie"> <![endif]--> 
<!--[if IE 9 ]> <html lang="en" class="ie9"> <![endif]--> 
<!--[if (gt IE 9)|!(IE)]><!--> 
<html lang="en" class="gtie9 modern"> 
<!--<![endif]--> 

,並在你的CSS使用這樣的:

.ie9 .element {filter: none; } 
20

-ms-filter屬性是一個非標準的,特定於瀏覽器的CSS條目,因此要求其參數用引號括起來。所以-ms-filter:「none」將工作得很好。