2011-06-06 28 views
1

我創建一個模板,我有兩個不同的CSS樣式表。一個用於IE,另一個用於所有其他瀏覽器。目標除了IE的所有瀏覽器if語句<!--[if !IE]>顯示FF

我找到了一個針對所有瀏覽器和IE瀏覽器的解決方案。

在我的頭我表明:

<!--[if !IE]><!--><link rel="stylesheet" href="path/templates/thisTemplate/css/the-pack.css" type="text/css" /><!--<![endif]--> 

<!--[if IE]><link rel="stylesheet" href="path/templates/thisTemplate/css/template_ie_lt_9.css" type="text/css" /><!--<![endif]--> 

樣式表做工精細。除了火狐顯示在頁面

開頭的文字<!--[if !IE]>你能爲我提供正確的選擇嗎?或者爲什麼這個文本顯示,儘管是在頭部元素,我需要做什麼,這不顯示?

謝謝

+2

爲什麼不只是使普通瀏覽器的主樣式表默認(無條件),然後只有條件地包含IE瀏覽器。通常,我的IE特定樣式表中只有一些樣式,如果需要,我使用!重要標籤來覆蓋默認樣式表中的樣式。 – addedlovely 2011-06-06 18:52:21

+0

如果您有服務器端代碼可用,您可能希望檢查HttpContext中的瀏覽器代理以便提供適當的樣式表。我通常更喜歡這種方法,因爲它不會混淆你的標記。 – canon 2011-06-06 20:27:23

+0

@antisanity我怎麼能這樣做?你能否向我推薦一些我可以學習的文檔?謝謝 – IberoMedia 2011-06-06 21:29:19

回答

1

了積極的條件註釋的結束只是<![endif]-->,不重新啓動一個新評論:

<!--[if IE]><link rel="stylesheet" 
href="path/templates/thisTemplate/css/template_ie_lt_9.css" type="text/css" /> 
<![endif]--> 
+0

我認爲相同,但有條件的評論似乎更復雜:http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment – Tae 2011-06-06 20:44:59

+0

@Tae這個版本無疑是一個正確的評論標準瀏覽器,它在IE中工作,所以這是一個有效的條件註釋。我不知道更復雜的維基百科窗體來自哪裏,但根據微軟(http://msdn.microsoft.com/en-us/library/ms537512(v=vs.85).aspx#examples),維基百科版本不正確。 – phihag 2011-06-06 20:57:57

+0

謝謝你,這刪除不需要的文本在Firefox中,和樣式表加載如預期 – IberoMedia 2011-06-06 21:27:08

0

這也許應該是代碼:

<!--[if !IE]><link rel="stylesheet" href="path/templates/thisTemplate/css/the-pack.css" type="text/css" /><![endif]--> 
<!--[if IE]><link rel="stylesheet" href="path/templates/thisTemplate/css/template_ie_lt_9.css" type="text/css" /><![endif]--> 

格爾茨,

XpertEase

1

維基說:

<!--[if gt IE 6]><!--> 
This code displays on non-IE browsers and on IE 7 or higher. 
<!--<![endif]--> 

所以,也許你應該改變if !IEif gt IE 9

更多信息:http://reference.sitepoint.com/css/conditionalcomments

+0

不錯的功能....直到IE 10出來;) – 2011-06-06 22:38:10

0

一個老問題,但比以往任何時候都那麼另一個可能的解決方案更相關。

<link rel="stylesheet" href="/css/style.css" media="(min-width:0px)"> 

<!--[if (lt IE 9) & (!IEMobile)]> 
    <link rel="stylesheet" href="/css/ie.css"> 
<![endif]--> 

您可以通過使用媒體屬性來避免條件,這是舊版瀏覽器無法理解的,所以文件不會被加載。