IE的有条件注释

IE的有条件注释是一种专有的(因此是非标准的)、对常规(X)HTML注释的Miscrosoft扩展。顾名思义,有条件注释使你能够根据条件(比如浏览器版本)显示代码块(不一定就是css,也可以是html代码,甚至是JavaScript代码)。

IE的有条件注释是一种专有的(因此是非标准的)、对常规(X)HTML注释的Miscrosoft扩展。顾名思义,有条件注释使你能够根据条件(比如浏览器版本)显示代码块。尽管是非标准的,但是有条件注释对于其他所有浏览器作为常规注释出现,因此本质上是无害的。有条件注释在Windows上的IE5中首次出现,并且得到了Widnows浏览器所有后续版本的支持。

IE的有条件注释及其有效,而且非常容易记住。主要的缺点是这些注释需要放在HTML页面中,而不是放在CSS中。这样,当你不需要这些东西,或者有所更改的时候,就需要维护很多的地方。

1、只有IE才能识别 
因为只有IE5以上的版本才开始支持IE条件注释,所有“只有IE”才能识别的意思是“只有IE5版本以上”才能识别。

1 <!--[if IE]> 3 <link href="test.css" rel="stylesheet"/>5 <![endif]--> 

2、只有特定版本才能识别 
例如,只有IE5才能识别,只有IE6才能识别,只有IE7或者IE8才能识别。识别的条件是特定的版本,高了或者低了都不可以。例如下面的代码块,将只会在IE8中有效

  <!--[if IE 8]>

    <link href="test.css" rel="stylesheet"/>
  <![endif]-->

 
3、只有不是特定版本的才能识别 
当然,IE浏览器需要在5以上的版本,才在讨论范围之内。例如下面的例子中,特定了IE7版本不能识别。

  <!--[if !IE 7]> 
    <link href="test.css" rel="stylesheet"/>
  <![endif]-->

 
4、只有高于特定版本才能识别 
只有高于制定版本的IE浏览器才能识别的代码块。

  <!--[if gt IE 7]> 
    <link href="test.css" rel="stylesheet"/>
  <![endif]-->

 
有朋友会问,为什么IE7没有应用到效果呢?那是因为IE7等于IE7,而不是高于IE7。所有IE7也没有起效果。

5、等于或者高于特定版本才能识别

  <!--[if gte IE 7]> 
    <link href="test.css" rel="stylesheet"/>
  <![endif]-->

 
6、只有低于特定版本的才能识别

  <!--[if lt IE 7]> 
    <link href="test.css" rel="stylesheet"/>
  <![endif]-->

 
7、等于或者低于特定版本的才能识别

  <!--[if lte IE 7]> 
    <link href="test.css" rel="stylesheet"/>
  <![endif]-->

8、关键词解释 
上面那些代码好像很难记的样子,其实只要稍微解释一下关键字就很容易记住了。 
lt :就是Less than的简写,也就是小于的意思。 
lte :就是Less than or equal to的简写,也就是小于或等于的意思。 
gt :就是Greater than的简写,也就是大于的意思。 
gte:就是Greater than or equal to的简写,也就是大于或等于的意思。 
!:就是不等于的意思,跟javascript里的不等于判断符相同。 
这样解释一下,是不是好记多了。 
关于IE条件注释的特别说明 
只有IE才能识别哦—— 
曾经看到过下面的代码,现在想起来不禁有点想笑。这样的代码有什么意义吗?

<!--[if !IE]> 
<link href="test.css" rel="stylesheet"/>
<![endif]-->

不仅仅是CSS哦 
很长时间,我对这个都有一种误解——以为它就是用来根据浏览器不同载入不同css,从而解决样式兼容性问题的。其实,我错了。它其实可以做的更多。它可以保护任何代码块——HTML代码块、JavaScript代码块、服务器端代码……看看下面的代码。

<!--[if IE]> 
你使用的是IE浏览器,还会弹出个框哦。 
<script type="text/javascript"> alert("你使用的是IE浏览器!");</script> 
<![endif]-->

本文转载自:http://www.jb51.net/article/29336.htm

时间: 2024-10-04 21:26:12

IE的有条件注释的相关文章

IE条件注释

条件注释是IE专门提供的一种语法,其他浏览器会将其作为注释而忽略这些语句. 作用:根据不同的IE版本加载对应的CSS或者JS文件,甚至css代码和html代码. 重要提示 自IE10起,标准模式不再支持条件注释.而是采用特征检测给浏览器不支持的功能来提供备用策略.有关标准模式的详细信息,请参阅定义文档兼容性. 术语 熟悉下列术语有助于你学习文档兼容性. 名词 描述 expression 由运算符.特征和(或)值组合形成一个条件语句 downlevel browser 任何浏览器除了IE5+,其他

html条件注释

HTML条件注释用法诠释 注释内容以样式为例,如下: 1.支持所有IE浏览器 <!--[if IE]> <link rel="stylesheet" href="all-ie-only.css" type="text/css"/> <![endif]--> 2.支持非IE浏览器 <!--[if !IE]> <link rel="stylesheet" href="

CSS条件注释

由于浏览器版本的不同,对CSS里某些元素的解释也不一样,针对浏览器版本不同而选择不同CSS的代码,其实我们还可以利用条件注释的方法来达到类似的目的,什么是条件注释,在此简单介绍一下,无非就是一些if判断啦,呵呵,但这些判断不是在脚本里执行的,而是直接在html代码里执行的,下面来介绍一下使用方法吧. <!--[if XXX]>这里是正常的html代码<![endif]–>这里XXX是一些特定的东东,在此列表几个出来,详细介绍各自的含义:<!–[if IE]> / 如果浏

用条件注释判断浏览器版本解决页面兼容问题

在IE8.IE9上可能好好的,当我们在IE6.IE7或者是其他的浏览器上再浏览这些页面时,可能会发现我们的页面已经面目全非了,那么如何解决兼容问题呢,本文就为大家一一道来对于浏览器兼容问题,我们应该碰到很多了,在平时写一些页面时,在IE8.IE9上可能好好的,当我们在IE6.IE7或者是其他的浏览器上再浏览这些页面时,可能会发现我们的页面已经面目全非了,作为一名前端开发人员,这是最让人发疯的问题了,那么我们该怎么解决这些问题呢? 首先,我们写的页面在不同的浏览器上之所以会出现表现不同的问题,是因

IE浏览器条件注释if IE详解

无论是google还是百度搜到的if IE条件注释用法,排在前面的几个搜索结果文章都是有错误和漏洞的,而这些漏洞和错误导致我一度误以为有些IE条件注释已经失效了,即使不是失效,也令我 很费解.今天抽时间查阅了些老外写的东西,并且都试验了一遍.发现给我造成费解的原因是那些文章大多都是抄来的,没有经过亲自试验,在复制来复制去的过程 中就把某些关键的地方弄错了:( 现将正确的if IE条件注释用法总结一下,以便以后使用: 运算符 示例 说明 ! [if !IE] 非运算符.该例子表示所有的非IE浏览器

IE里的条件注释

<!--[if IE 6]> <script src="excanvas.js" type="text/javascript" charset="utf-8"></script> //引入IE 图像类库 <![endif]--> <!--[if IE 6]> 内容 <![endif]--> <!--[if !IE]><--> 内容 <!-->

用条件注释判断浏览器版本,解决兼容问题

对于浏览器兼容问题,我们应该碰到很多了,在平时写一些页面时,在IE8.IE9上可能好好的,当我们在IE6.IE7或者是其他的浏览器上再浏览这些页面时,可能会发现我们的页面已经面目全非了,作为一名前端开发人员,这是最让人发疯的问题了,那么我们该怎么解决这些问题呢? 首先,我们写的页面在不同的浏览器上之所以会出现表现不同的问题,是因为不同的浏览器在解析页面时,他们所遵循的规则并不是完全相同的.比如IE,不同的版本解析都不同,何况是不同的浏览器厂商,不同的内核呢.但是我们在遇到兼容性问题时,应该首先检

使用html进行浏览器判断,浏览器条件注释

下面来点今天写东西的时候查资料,收集的关于使用html进行浏览器判断的一些资料: 条件注释的基本格式: <!--[if expression]>注释内容<![endif]--> 或者 <![if expression]>注释内容<![endif]> 基本上所有的条件注释就根据上面的内容而来 expression的常用值: IE ie浏览器 IE version 版本为version的ie浏览器 lt IE version 版本号小于version lte I

HTML if条件注释

if IE条件注释起着非常大的作用! if IE什么意思呢?下面就列举了一些在CSS常见的HACK控制语句. 作为IE的IF条件注释使用备忘,有些时候试用if IE而不是在css中使用hack. 在HTML中使用条件if注释,让客户端的不同版本IE浏览器读取各自版本浏览器注释里内容. <!--[if !IE]>除IE外都可识别<![endif]--> <!--[if IE]> 所有的IE可识别 <![endif]--> <!--[if gt IE 5.

CSS布局参考 IE的If条件注释使用备忘

内容提要:在CSS布局中,还常常用到IE Hack.if IE起着非常大的作用! 关键字:Div CSS IE Hack if IE什么意思呢?下面就列举了一些在CSS常见的HACK控制语句. 作为IE的IF条件注释使用备忘,大家可以参考,有经验欢迎与网友分享. <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--> <!--[if IE]> 所有的IE可识别 <![endif]--> <!--[if