2014-02-10 26 views
0

我有HEAD一塊我的網站內的以下樣式:爲什麼IE特定的樣式表被忽略

<!--[if !IE]--> 
<link rel="stylesheet" href="theStyles/defaultStyle.css" type="text/css" charset="utf-8" /> 
<!--[endif]--> 
<!--[if IE]> 
<link rel="stylesheet" href="theStyles/defaultStyle_ie.css" type="text/css" charset="utf-8" /> 
<![endif]--> 

我運行的IE版本10,但由於某種原因,它是閱讀非IE瀏覽器的樣式表。任何想法如何解決它?我必須在IE條件下具體嗎?

我看着在開發者工具,只有非IE瀏覽器版本已經加載中...

結束了使用此:

<script type="text/javascript"> 
if (window.clipboardData) 
    alert("You are using IE!"); 
else 
    alert("NON IE"); 
</script> 
+0

IE上沒有問題。他們可以做他們想做的或忽略他們想要的。這是可悲的現實。 – Esser

+1

@Esser:你難道不討厭自由意志嗎?看看Chrome,WebKit和Blink,隨時隨地添加功能,然後嘗試將它們融入標準。 – BoltClock

+0

可能的重複[如何僅針對特定情況下的Internet Explorer 10,如Internet Explorer特定的CSS或Internet Explorer特定的JavaScript代碼?](http://stackoverflow.com/questions/9900311/how-doi-i-只針對internet-explorer-10-for-situations-circumstances-like-internet-e) – cimmanon

回答

5

Microsoft

如Internet Explorer 10的,條件註釋不再 通過標準模式下支持。使用功能檢測爲瀏覽器支持的非網站功能 提供 有效的回退策略。

and

支持有條件的意見已在Internet Explorer中被刪除 10標準和怪癖,以提高互操作性和 符合HTML5模式。這意味着條件註釋現在被 視爲常規評論,就像在其他瀏覽器中一樣。此更改 可能會影響專門爲Windows Internet Explorer編寫的頁面或 頁面,這些頁面使用瀏覽器嗅探來更改它們在Internet Explorer中的行爲。

+0

那麼我如何重寫我的代碼,以確保任何版本的IE瀏覽器需要'_ie'的CSS和其他任何使用標準的CSS文件? – Si8

+0

這個JavaScript相關的問題可能會幫助你:http://stackoverflow.com/questions/9900311/how-do-i-target-only-internet-explorer-10-for-certain-situations-like-internet-e – j08691

+0

@ SiKni8 http://bit.ly/1oaXWRI ... – gearsdigital

1

只允許有條件的註釋中的IE瀏覽器的樣式表IE瀏覽器。您的常規樣式表不需要條件註釋。它應如下所示:

<link rel="stylesheet" href="theStyles/defaultStyle.css" type="text/css" charset="utf-8" /> 

<!--[if IE]> 
<link rel="stylesheet" href="theStyles/defaultStyle_ie.css" type="text/css" charset="utf-8" /> 
<![endif]--> 
+0

它確實存在,否則IE會嘗試讀取不是OP所需的常規樣式表。問題的關鍵在於不管版本如何都試圖阻止它完全讀取它。 – BoltClock

+0

我看了開發者控制檯,只有非IE版本加載......奇怪 – Si8