常用的IE条件注释

经常会在许多模板代码的头部head里看到人用一些类似<!--[if IE 6]XXX<![endif]-->这样的代码,有各式各样的,一直没搞清楚,刚在朴人博客看到一篇《常用浏览器CSS hack汇总》,再百度了一下,终于有个较清晰的认识了。

条件注释功能非常强大,可以进行true和false判断,是IE特有的一种功能,能对IE系列产品进行单独的XHTML代码处理,用的最多的是用来引入针对ie浏览不兼容的CSS用,有时候也用于引入一些js代码,下面是常用的条件注释:

&lt;!--[if lt IE 9]&gt;Less Than IE9&lt;![endif]--&gt;
&lt;!--[if lte IE 9]&gt;Less Than or Equal IE9&lt;![endif]--&gt;
&lt;!--[if IE]&gt;IE only&lt;![endif]--&gt;
&lt;!--[if IE 6]&gt;IE6 only&lt;![endif]--&gt;
&lt;!--[if IE 7]&gt;IE7 only&lt;![endif]--&gt;
&lt;!--[if gt IE 6]&gt; Greater Than IE6&lt;![endif]--&gt;
&lt;!--[if gte IE 6]&gt; Greater Than or Equal IE6&lt;![endif]--&gt;

上面例子中的lt lte等叫做前缀,这些前缀的意思分别是:

lt:表示less than,当前条件版本以下的版本,不包含当前版本;
lte:表示less than or equal,当前版本以下版本,并包含当前版本;
gt:表示greater than,表示当前条件版本以上版本,但不包含当前版本;
gte:表示greeter than or equal,当前版本以上版本,并包含当前版本。

IE条件注释还支持感叹号,表示排除当前版本,如:

&lt;!–[if !IE 6.0]&gt;此内容除了IE6.0版本之外都可见&lt;![endif]–&gt;

另外,IE条件注释还支持精确的版本号,不过估计用的人不多,如:

&lt;!–[if IE 6.1000]&gt;此内容只有IE6.1可见&lt;![endif]–&gt;

原先因为认识不清楚,所以很少用到,而且css太多了自己会搞的很乱,所以我也懒得用,博客的css也简单,一般直接hack在一个style里就好,不用这个东西,就可以少整个独立的css了。

作者: LMS

天行贱,君子自强自息。

标签

《常用的IE条件注释》有3个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注