Lisong's Blog


三月 8th, 2010

善用IE的条件注释语句

Learning, by 木公.

在做前端开发时,由于IE浏览器的特殊性,通常都需要针对不同的IE版本做特别的处理。比如在处理CSS布局时,经常需要用到IE Hack,这里就需要要使用if IE。IE浏览器的条件注释虽不太常用,却异常强大,不仅可以区分是否是IE浏览器,而且可以用来区分IE浏览器版本。

  • <!--[if IE]> Only IE <![endif]-->所有的IE可识别
  • <!--[if IE 5.0]> Only IE 5.0 <![endif]-->只有IE5.0可以识别
  • <!--[if gt IE 5.0]> Only IE 5.0+ <![endif]-->高于IE5.0都可以识别
  • <!--[if lt IE 6]> Only IE 6- <![endif]-->低于IE6可识别
  • <!--[if gte IE 6]> Only IE 6/+ <![endif]-->IE6以及IE6以上都可识别
  • <!--[if lte IE 7]> Only IE 7/- <![endif]-->IE7及IE7以下版本可识别
  • lte:就是Less than or equal to的简写,也就是小于或等于的意思
  • lt:就是Less than的简写,也就是小于的意思
  • gte:就是Greater than or equal to的简写,也就是大于或等于的意思
  • gt:就是Greater than的简写,也就是大于的意思
  • !:就是不等于的意思,跟javascript里的不等于判断符相同。

看到这里只可能会觉得这样不就可以了吗?如果你这样想就错了,因为非ie根本不会识别ie的条件注释,所以就直接全部是注释了,ok,来看看正确的写法吧。
<!--[if !IE]><-->
只有不是ie浏览器才能看到这里
<![endif]-->

关键是条件注释后头的 <–> 在IE中被当作内部注释,而 在非IE浏览器中会闭合之前的注释,从而起到区分非IE浏览器的作用,一般常用<!–>。

Back Top

回复自“善用IE的条件注释语句”

评论 (2) 引用 (0) 发表评论 引用地址
  1. How can I transfer firefox settings from one computer to another?

  2. How do I delete computer passwords from a different user on my computer?

  1. 没有任何引用。

发表评论

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

*


无觅相关文章插件,快速提升流量