您的位置:首页 > 其它

详谈IE条件注释

2014-12-08 09:00 381 查看
概述

如果你厌烦了为低版本IE写又臭又长的hack,IE条件注释将是比较优美的解决方法。当然条件注释的功能不仅仅是以上那些功能,除了规避写出恶心的hack,它还可以针对不同的IE版本(IE5.5-9,IE10不支持条件注释)做出不同的相应,比如针对不同IE加载不同的样式,或者脚本等等,更多的功能等待我们的发掘和运用。

条件注释简介

IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的hack方法。
条件注释只能用于IE5以上,IE10以上不支持。
如果你安装了多个IE,条件注释将会以最高版本的IE为标准。
条件注释的基本结构和HTML的注释(<!– –>)是一样的。因此IE以外的浏览器将会把它们看作是普通的注释而完全忽略它们。
IE将会根据if条件来判断是否如解析普通的页面内容一样解析条件注释里的内容。

条件注释语法


项目
范例
说明


!
[if !IE]
The NOT operator. This is placed immediately in front of the feature, operator, or subexpression to reverse the Boolean meaning of the expression.NOT运算符。这是摆立即在前面的功能,操作员,或子表达式扭转布尔表达式的意义。


lt
[if lt IE 5.5]
The less-than operator. Returns true if the first argument is less than the second argument.小于运算符。如果第一个参数小于第二个参数,则返回true。


lte
[if lte IE 6]
The less-than or equal operator. Returns true if the first argument is less than or equal to the second argument.小于或等于运算。如果第一个参数是小于或等于第二个参数,则返回true。


gt
[if gt IE 5]
The greater-than operator. Returns true if the first argument is greater than the second argument.大于运算符。如果第一个参数大于第二个参数,则返回true。


gte
[if gte IE 7]
The greater-than or equal operator. Returns true if the first argument is greater than or equal to the second argument.大于或等于运算。如果第一个参数是大于或等于第二个参数,则返回true。


( )
[if !(IE 7)]
Subexpression operators. Used in conjunction with boolean operators to create more complex expressions.子表达式运营商。在与布尔运算符用于创建更复杂的表达式。


&
[if (gt IE 5)&(lt IE 7)]
The AND operator. Returns true if all subexpressions evaluate to trueAND运算符。如果所有的子表达式计算结果为true,返回true


|
[if (IE 6)|(IE 7)]
The OR operator. Returns true if any of the subexpressions evaluates to true.OR运算符。返回true,如果子表达式计算结果为true。


条件注释使用方法示例

<!–[if IE 5]>仅IE5.5可见<![endif]–>
<!–[if gt IE 5.5]>仅IE 5.5以上可见<![endif]–>
<!–[if lt IE 5.5]>仅IE 5.5以下可见<![endif]–>
<!–[if gte IE 5.5]>IE 5.5及以上可见<![endif]–>
<!–[if lte IE 5.5]>IE 5.5及以下可见<![endif]–>
<!–[if !IE 5.5]>非IE 5.5的IE可见<![endif]–>

条件注释使用案例


特别提示:

1、有人会试图使用<!--[if !IE]>来定义非IE浏览器下的状况,但注意:条件注释只有在IE浏览器下才能执行,这个代码在非IE浏览下被当做注释视而不见。

2、我们通常用IE条件注释根据浏览器不同载入不同css,从而解决样式兼容性问题的。其实它可以做的更多。它可以保护任何代码块——HTML代码块、JavaScript代码块、服务器端代码……看看下面的代码。
<!--[if IE]> 
<script type="text/javascript"> 
 alert("你使用的是IE浏览器!"); 
</script> 
<![endif]-->
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: