HTML條件注釋


HTML條件注釋

 普通的HTML注釋形式是

<!-- 注釋 -->

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

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

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


if條件注釋分為三種形式

1、是否IE(即:!)

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

2、是哪個版本的IE(即:=)

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

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

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

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

 

對於條件注釋

IE5~IE9的視角是:

 其他瀏覽器的視角是:

那么如果想要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專有的一些問題照樣存在

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM