前言:
刚开始接触项目时,会看到别人的代码有注释的:<!--[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)]
原文:跳转原网页