2011-05-18 74 views
5

我有一堆CSS寫入,使我的網站目標移動優先,然後我使用CSS Media Queries爲桌面瀏覽器加載另一個樣式表。我這樣做是因爲有太多的移動瀏覽器不理解CSS Media Queries,而且桌面用戶更有可能擁有支持這一功能的現代瀏覽器。有條件的CSS沒有被IE7和IE8加載

我有以下的CSS,在所有現代瀏覽器(IE9,Chrome瀏覽器,火狐3.6或更高版本,Safari 4的+ 5)工作原理:

我才明白,IE7和IE8不支持CSS媒體查詢,因此以上都行不通。所以我增加了一個條件語句來加載它:

<link rel="Stylesheet" type="text/css" href="/css/mobile.css" media="all"/> 
<!-- [if lt IE 9]> 
<link rel="Stylesheet" type="text/css" href="/css/desktop.css" media="all" /> 
<! [endif] --> 
<link rel="Stylesheet" type="text/css" href="/css/desktop.css" media="only screen and (min-width: 640px)" /> 

然而,使用IE瀏覽器測試儀和Browsershots,我已經證實,desktop.css沒有在IE 7裝載和8這似乎完全忽略樣式表。

然後我嘗試將條件語句更改爲<!-- [if IE 8]>,但沒有任何效果。

最後,我完全刪除了條件語句,導致此代碼:我desktop.css

<link rel="Stylesheet" type="text/css" href="/css/mobile.css" media="all"/> 
<link rel="Stylesheet" type="text/css" href="/css/desktop.css" media="all" /> 

這最後的嘗試導致被加載在IE7和IE8。所以這證明CSS是可以的。看起來像我的條件聲明沒有被觸發。

任何想法我做錯了什麼?

+1

不確定這是否是問題,但嘗試刪除空格。 '<! - [if lt IE 9]>' - >'<! - [if lt IE 9]>' – Shaz 2011-05-18 02:25:10

回答

8

刪除空格。這打破了conditional syntax。否則,IE瀏覽器將其視爲正常評論。

<!--[if IE 8]> 
... 
<![endif]--> 
+0

謝謝,這是問題! (注意:改變你的結尾評論,應該是'' – TMC 2011-05-18 03:17:04

+0

謝謝,我已經更新了我的答案,很高興它的工作。 – 2011-05-18 13:49:16