使用条件注释判断 IE 浏览器版本适用于IE5.0及以上版本

  发布时间:2014-03-31 11:29:22   作者:佚名   我要评论
IE条件注释是一种特殊的HTML注释,这种注释只有IE5.0及以上版本才能理解,下面为大家介绍下使用条件注释判断 IE 浏览器版本,感兴趣的朋友可以参考下

IE条件注释是一种特殊的HTML注释,这种注释只有IE5.0及以上版本才能理解。比如普通的HTML注释是:

<!--This is a comment-->

而只有IE可读的IE条件注释是:

<!--[if IE]> <![endif]-->

“非IE条件注释”:

<!--[if !IE]>--> non-IE HTML Code <!--<![endif]-->

“非特定版本IE条件注释”(很少用到):

<!--[if ! lt IE 7]><![IGNORE[--><![IGNORE[]]>Code for browsers that match the if condition<!--<![endif]-->

简而言之,除了“Windows上的IE”之外的所有浏览器都会认为条件注释只是一段普通的HTML注释。你不能在CSS代码中使用条件注释。IE条件注释是很有用的对IE隐藏或者展现特定代码的方法,比起在CSS中用诡异的_/制造bug,利用IE条件注释来写CSS “hacks”是更合理的方法。通俗点,条件注释就是一些if判断,但这些判断不是在脚本里执行的,而是直接在html代码里执行的。

条件注释的基本结构和HTML的注释(<!– –>)是一样的。因此IE以外的浏览器将会把它们看作是普通的注释而完全忽略它们。
IE将会根据if条件来判断是否如解析普通的页面内容一样解析条件注释里的内容。
条件注释使用的是HTML的注释结构,因此他们只能使用在HTML文件里,而不能在CSS文件中使用。

从语法上看这是相当合法的普通HTML注释。任何浏览器都会认为<!–和–>之间的部分是注释从而忽略它。但是IE也会看到其中[if IE]>,从而开始解释接下来的代码直到遇到<![endif]。所以,下面这些代码不会显示在任何其他浏览器中面。

通过“比较操作符”可以更灵活地对IE版本进行控制,用法是在IE前面加上“比较操作符”。合法的操作符如下:

lte:就是Less than or equal to的简写,也就是小于或等于的意思。
lt :就是Less than的简写,也就是小于的意思。
gte:就是Greater than or equal to的简写,也就是大于或等于的意思。
gt :就是Greater than的简写,也就是大于的意思。
! :就是不等于的意思,跟javascript里的不等于判断符相同

示例:

<!–[if gt IE 5.5]> / 如果IE版本大于5.5 /
<!–[if lte IE 6]> / 如果IE版本小于等于6 /
<!–[if !IE]> / 如果浏览器不是IE /

虽然看上去当你第一次使用条件注释的时候会更费时,但当你以后调试你的CSS的时候,就会发现非常方便。用条件注释你只需要写一遍HTML注释,而用bug你需要为每一条规则都写上又长又丑的代码,而且还经常是为了改变其他的hacks而写的hacks。除此之外条件注释对于不支持它的任何浏览器而言都是合法的HTML注释。以下为条件注释与CSS hacks的一些区别:

Hacks是基于浏览器的bug,而这些bug最终可能会被修复。
条件注释是基于IE特定代码,这种识别机制任何时候都不会被移除。
每一个浏览器都能看见你的hacks,或许下一个版本或者一个新的浏览器会在你的hacks代码上出错。
只有IE才能看到条件注释,通过额外的“IE文件”来影响页面,其他浏览器根本就不会下载它。
Hacks不能确保对哪些浏览器生效而对哪些不,用的hacks越多,代码越混乱。
条件注释利用版本匹配使得作者可以容易地对特定版本写代码。

相关文章

  • 面向XHTML的IE条件注释

    条件注释是IE特有的一种功能,能对IE系列产品进行单独的XHTML代码处理,注意,主要是针对XHTML,而非CSS。 条件注释功能非常强大,可以进行true和false判断,例如:
    2008-10-17
  • IE的有条件注释优点和缺点

    IE的有条件注释是一种专有的(因此是非标准的)、对常规(X)HTML注释的Miscrosoft扩展。 IE的有条件注释是一种专有的(因此是非标准的)、对常规(X)HTM
    2009-04-02
  • css 条件注释区分非IE浏览器

    IE浏览器的条件注释虽不太常用,却异常强大,不仅可以用来区分IE浏览器版本
    2010-03-05
  • 针对主流浏览器的CSS-HACK写法及IE常用条件注释

    本文将为你总结CSS针对各浏览器的兼容HACK(以IE6/IE7/IE8 /FF为主),以及IE特有的条件注释使用方法.
    2010-07-04
  • ie10 css hack 条件注释等兼容方式整理

    ie10已经上线一段时间了,相信已经有一部分前端潮人体验过了,截至到现在,在ie6到ie9的浏览器各种各样的古怪行为,开发人员不得不使用条件注释,有条件的类,和其他特定于I
    2012-12-11
  • 浏览器兼容之旅第一站:如何在页面中创建IE条件注释

    浏览器的兼容问题一定处理过不少了,特别是IE6的兼容问题;这一节主要了解了如何在页面中创建IE条件注释,以及其带来的好处,和所起的作用,需要了解的朋友可以参考下
    2012-12-27
  • 条件注释判断浏览器(ie系列)

    使用条件注释判断浏览器在某些时候还是比较使用的,比如css 样式的兼容根据浏览器不同进行判断加载,类似的例子还有好多,感兴趣的朋友可以参考下,希望对大家有所帮助
    2013-07-26
  • 详谈IE条件注释

    条件注释是IE特有的一种功能,能对IE系列产品进行单独的XHTML代码处理,注意,主要是针对XHTML,而非CSS。本文我们就来探讨下关于IE条件注释的相关问题。
    2014-12-08

最新评论