2010-07-07 188 views
2

我在使用IE時遇到問題。 Everthing使用Firefox很好,但IE 6似乎給css帶來了更多麻煩。所以我用IE跨瀏覽器兼容性問題

<![if !IE]> 
<link href="ie6.css" rel="stylesheet"> 
<![endif]> 

要解決問題,但它不起作用。此代碼中有任何錯誤?因爲當我改變這個CSS在IE中沒有任何改變。

回答

6

那麼,你的conditional comment說「如果不是 IE」。
另請注意,您正在使用下層顯示的條件註釋,這意味着每個瀏覽器(除了 IE)都將包含額外的CSS文件。使用<!--[if IE]><![endif]-->代替。

+0

以及事件雖然我用這個代碼它根本不工作。 – Jay 2010-07-07 09:40:45

+0

@Jay用更多的代碼更新你的問題,因爲這應該是工作。 – deceze 2010-07-07 09:46:52

1

變化:

<![if !IE]>  ! means not IE there 

要:

<![if IE]>  means if it is IE 

使用基於IE的CSS。

+0

不正確:您仍在使用[downlevel-revealed conditional comments](http://msdn.microsoft.com/en-us/library/ms537512%28VS.85%29.aspx#dlrevealed),就像OP確實;除IE之外的其他瀏覽器都不會將這些內容識別爲有效的HTML,並且會簡單地忽略它們,因此內部的所有內容都不會被忽略。 – 2010-07-07 12:40:56

1

ie.css放在任何其他css文件之後?如果你已經把它放在常規的css之前,它將被覆蓋。 它應該是這個樣子:

<link href="other.css" rel="stylesheet"> 
<![if IE]> 
    <link href="ie6.css" rel="stylesheet"> 
<![endif]> 
+0

這真的很有用。感謝傢伙.. – Jay 2010-07-10 14:57:17

2

嘗試

<!--[if lte IE 6]><link href="ie6.css" rel="stylesheet"><![endif]--> 
+1

儘管你的答案在技術上是正確的,但我不會測試'lte IE 6';由於IE6標準模式與IE5.5的渲染引擎有很大不同,在IE> = 6中也被稱爲怪異模式,所以IE <= 5.5有許多其他的怪癖可供處理。 – 2010-07-07 12:34:35

+0

確實如此。 – Ms2ger 2010-07-12 15:16:50

2

我使用這個;

<!--[if IE 6]> 
this place for your stuff. 
<![endif]--> 
3

嘗試使用此條件語句:

<!--[if lt IE 7]> 
    <link href="ie6.css" rel="stylesheet"> 
<![endif]--> 

基本上它說,如果瀏覽器是小於IE7然後用這個樣式表。適用於我。

+0

是的,它的工作..謝謝 – Jay 2010-07-10 14:56:38