HTML條件註釋

普通的HTML註釋形式是html

<!-- 註釋 -->

 而IE5~IE9這5個版本的IE瀏覽器還另外支持一種特殊的if條件註釋(感受有點相似模板渲染時的語法結構)jquery

<!--[if IE]> html語句 <![endif]-->

這樣在處理IE瀏覽器兼容性問題的時候就能夠把hack代碼集中在一塊了,或者其餘意想不到的用途瀏覽器


if條件註釋分爲三種形式spa

一、是否IE(即:!)code

<!--[if IE]> html代碼 <![endif]-->
<!--[if !IE]> html代碼 <![endif]-->

二、是哪一個版本的IE(即:=)htm

<!--[if IE 6]> html代碼 <![endif]-->
<!--[if IE 8]> html代碼 <![endif]-->

三、是哪一個區間的IE(即:<,<=,>,>=)blog

<!-- IE8如下版本的瀏覽器纔會執行內部的html代碼,如須要包含IE8則使用lte -->
<!--[if lt IE 8]> html代碼 <![endif]-->

<!-- IE7以上版本的瀏覽器纔會執行內部的html代碼,如須要包含IE7則使用gte -->
<!--[if gt IE 7]> html代碼 <![endif]-->

 

對於條件註釋ip

IE5~IE9的視角是:模板

 其餘瀏覽器的視角是:class

那麼若是想要if條件註釋中所謂的html代碼IE5~IE9雖然能識別可是不能執行,而其餘瀏覽器也能識別並執行的話,能夠這樣寫

<!--[if !IE]>--> html代碼 <!--<![endif]-->

思路就是把條件註釋語法結構的前綴和後綴分別給註釋掉,這時

IE5~IE9的視角變成了:

其餘瀏覽器的視角則變成:

就都能識別出中間的代碼了。


我的以爲使用條件註釋的時候的一個注意點

<!--[if !IE]>-->
<script src="js/jquery-3.2.1.min.js"></script>
<!--<![endif]-->

<!--[if IE]>
<script src="js/jquery-1.12.4.min.js"></script>
<![endif]-->

就是在每一個瀏覽器中上邊兩個中只能使用一個的話必定得記得把IE9考慮進來,由於它也是能識別條件註釋的(感受IE9就是IE向現代高級瀏覽器過渡的東西,CSS3只支持一部分,可是以前IE專有的一些問題照樣存在

相關文章
相關標籤/搜索