除IE以外的瀏覽器將條件語句視爲註釋,因爲它們被包含在註釋標記中。
<!--[if IE]>
Non-IE browsers ignore this
<![endif]-->
但是,當你的目標瀏覽器是不是IE,你必須使用2個評論,一前一後的代碼。 IE會忽略它們之間的代碼,而其他瀏覽器會將其視爲正常代碼。針對非IE瀏覽器的語法是:
<!--[if !IE]-->
IE ignores this
<!--[endif]-->
您的代碼有一些問題,我糾正了它們。檢查IE9和其他瀏覽器。現在,它的做工精細,除了在IE10及更高版本(的Cuz IE10及以上不再支持有條件的標籤)
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8" />
<link href="style.css" type="text/css" rel="stylesheet" />
<head/>
<body>
\t <p><span class="p-style">XXXXXXXXXXXX</span></p>
\t <p><span class="p-style-IE">YYYYYYYYYYYYY</span></p>
\t <!--[if IE]>
\t \t \t <style>
\t \t \t \t .p-style {color:red;}
\t \t \t \t .p-style-IE {display: none;}
\t \t \t </style>
\t \t <![endif]-->
\t \t <!--[if !IE]><!-->
\t \t \t <style>
\t \t \t \t .p-style {display: none;}
\t \t \t \t .p-style-IE{color:green;}
\t \t \t </style>
\t \t <!--<![endif]-->
</body>
</html>
更新:對於IE10和IE11,
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
/* IE10+ specific styles go here */
}
我們使用-ms-high-contrast創建媒體查詢,在其中放置IE10 +特定的CSS樣式。由於-ms-高對比度是特定於Microsoft的(僅在IE10 +中可用),因此它只能在Internet Explorer 10和更高版本中解析。
謝謝你的回答。有沒有特別針對IE10或Microsoft Edge編寫代碼的方法?我的代碼適用於Mozilla,Chrome和Opera,但某些元素在Explorer和Edge中稍有偏移。我不知道如何解決它。 –
謝謝,如果有人尋找微軟邊緣黑客,這個工程_: - ms-lang(x),_: - webkit-full-screen,.selector {property:value;} –