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专有的一些问题照样存在

相关文章
相关标签/搜索