HTML中的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越多,代码越混乱。 条件注释利用版本匹配使得作者可以容易地对特定版本写代码。

时间: 2024-11-03 20:59:28

HTML中的IE条件注释的相关文章

HTML下在IE浏览器中的专有条件注释讲解_经验交流

在进行WEB标准网页的学习和应用过程中,网页对浏览器的兼容性是经常接触到的一个问题.其中因微软公司的Internet Explorer(简称IE)占据浏览器市场的大半江山,此外还有Firefox.Opera等.需要对这些浏览器进行兼容. 同时,单就IE而言,因IE版本的升级更替,目前浏览者使用的主要停留在 IE5(IE5.5).IE6和IE7这三个版本中.而这3个版本对于我们制作的WEB标准网页(XHTML+CSS)解释执行的显示状况不尽相同.并且,其他非IE浏览器与IE对某些CSS解释也不一样

IEMobile将条件注释功能带入WP7手机浏览器

文章简介:IEMobile条件注释. 微软在IE5开始就引入了条件注释的功能,可以通过注释型的语法,来对不同版本的IE浏览器指定不同的样式和内容.而在Windows Phone7中,微软又引入了 IEMobile这个关键字,将条件注释功能带入了WP7手机浏览器中. 语法和普通的条件注释类似: <!--[if IEMobile]> 哇,你在用Mobile IE啊! <![endif]-> 其实IEMobile是WP7中IE7浏览器的UA中的一个token,类似于普通浏览器中的MSIE

蛙蛙推荐:asp中的多条件组合查询实现

条件|组合查询 <!-- 蛙蛙推荐:asp中的多条件组合查询实现多条件组合查询在很多地方都很有用,本文用一个简单的例子来实现一种组合查询在示例之前请确保你安装有sqlserver2000及其默认数据库NorhtWind.代码非常直观,加上关键部分我做了注释,所以很容易理解.需要注意的几个问题就是:1.在字符串连接的时候注意两个需要连接的串中第二个串的开头第一个字符应该打一个空格,这样不至于两个串的首尾相连成一个单词.2.righ的left函数取出的结构区分大小写,如果你字符串里用的是'and',

针对主流浏览器的CSS-HACK写法及IE常用条件注释

对于前端工作者,最痛苦的事莫过于浏览器兼容性的调试,而这最痛苦的事中,最变态的莫过于微软的三个版本IE6.0/IE7.0/IE8.0. 为了让所写代码在各主流浏览器中正常运行,我们不得不为各种浏览器写对应的样式.本文,青鸟将为你总结CSS针对各浏览器的兼容HACK(以IE6/IE7/IE8 /FF为主),以及IE特有的条件注释使用方法.一.通用区分方式: IE6.IE7能识别*,标准浏览器(如FF)不能识别*: IE6能识别*,但不能识别 !important: IE7能识别*,也能识别 !im

详谈IE条件注释

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

IE的有条件注释判定IE版本详解(附实例代码)_javascript技巧

IE的有条件注释是一种专有的(因此是非标准的).对常规(X)HTML注释的Miscrosoft扩展.顾名思义,有条件注释使你能够根据条件(比如浏览器版本)显示代码块.尽管是非标准的,但是有条件注释对于其他所有浏览器作为常规注释出现,因此本质上是无害的.有条件注释在Windows上的IE5中首次出现,并且得到了Widnows浏览器所有后续版本的支持. IE的有条件注释及其有效,而且非常容易记住.主要的缺点是这些注释需要放在HTML页面中,而不是放在CSS中.这样,当你不需要这些东西,或者有所更改的

IE 条件注释详解总结(附实例代码)_javascript技巧

顾名思义,有条件注释使你能够根据条件(比如浏览器版本)显示代码块.尽管是非标准的,但是有条件注释对于其他所有浏览器作为常规注释出现,因此本质上是无害的.有条件注释在Windows上的IE5中首次出现,并且得到了Widnows浏览器所有后续版本的支持. IE的有条件注释及其有效,而且非常容易记住.主要的缺点是这些注释需要放在HTML页面中,而不是放在CSS中.这样,当你不需要这些东西,或者有所更改的时候,就需要维护很多的地方. 让我们据几个例子来看看吧-- 只有IE才能识别 因为只有IE5以上的版

针对IE6、7、8条件注释语句(不同版本IE显示用不用css)

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

IE 和非IE浏览器的条件注释

浏览器|条件 (X)HTML 下面一段代码是测试在微软的IE浏览器下的条件注释语句的效果 <!--[if IE]><h1>您正在使用IE浏览器</h1><![endif]--><!--[if IE 5]><h1>版本 5</h1><![endif]--><!--[if IE 5.0]><h1>版本 5.0</h1><![endif]--><!--[if IE