前言:
剛開始接觸項目時,會看到別人的代碼有註釋的:<!--[if IE]>。。。<![endif]-->
,那時候不明白這個什麼意思,但是也沒去扣,因爲理解的就是一段註釋而已,認爲代碼解釋器不會去考慮,沒想到ie瀏覽器會識別。所以做個總結。
正文:
條件註釋記法:
基本結構:<!--[判斷語句]> <![endif]-->,只用記<!--[]>結尾只需把--放置在最後
特殊判斷非:<!--[if !IE]>--> <!--[endif]>-->,百度上結尾是<!--<[endif]-->
尖括號在前,但我試了一下在前在後都可以不知道區別在哪裏兩個方法都可以實現,我就選好記一個的。
開始標籤和結束標籤都一樣除了語句會更好記一些,我不知道這個有沒有規範,但就這麼決定啦哈哈哈哈
- 判斷IE5到IE9瀏覽器:
<!--[if IE]>這裏的文字只在IE5到IE9瀏覽器顯示<![endif]-->
- 不是IE5到IE9瀏覽器:
<!--[if !IE]>-->這裏的文字只在非IE5到IE9瀏覽器顯示,非IE5到9瀏覽器包括IE10、IE11以及其他瀏覽器<!--![endif]>-->
- 等於運算(以下以IE8爲例):
<!--[if IE 8]>這裏的文字、代碼只在IE8瀏覽器顯示、執行<![endif]-->
- 小於運算(以下以IE8爲例):
<!--[if lt IE 8]>這裏的文字、代碼只在IE7、IE6瀏覽器顯示、執行<![endif]-->
- 小於或等於運算(以下以IE8爲例):
<!--[if lte IE 8]>這裏的文字、代碼只在IE8、IE7、IE6瀏覽器顯示、執行<![endif]-->
大於運算(以下以IE8爲例):
<!--[if gt IE 8]>這裏的文字、代碼只在IE9瀏覽器顯示、執行<![endif]-->
大於或等於運算(以下以IE8爲例):
<!--[if gte IE 8]>這裏的文字、代碼只在IE8、IE9瀏覽器顯示、執行<![endif]-->
還有一些用不上的運算符:
子表達式運算符:
[if !(IE 7)]
AND 運算符:
[if (gt IE 5)&(lt IE 7)]
OR 運算符:
[if (IE 6)|(IE 7)]
原文:跳轉原網頁