HTML条件注释_关于IE条件注释
普通的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 IE]> 条件注释前缀
html代码 代码
<![endif]--> 条件注释后缀其他浏览器的视角是:
<!-- 普通注释前缀
[if IE] html代码<![endif] 字符串
--> 普通注释后缀那么如果想要if条件注释中所谓的html代码IE5~IE9虽然能识别但是不能执行,而其他浏览器也能识别并执行的话,可以这样写
<!--[if !IE]>--> html代码 <!--<![endif]-->思路就是把条件注释语法结构的前缀和后缀分别给注释掉
个人觉得使用条件注释的时候的一个注意点
<!--[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专有的一些问题照样存在)
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!