CSS教程之:IE条件注释

来自:互联网
时间:2018-08-14
阅读:

条件注释是一种专用的(因此是非标准的)对常规HTML注释的Microsoft扩展。顾名思义,条件注释能够根据条件(比如浏览器版本)显示代码块。尽管是非标准的,条件注释在其他所有浏览器看来是常规注释,因此本质上是无害的。因此条件注册通常被看作处理IE特有的bug的最好方法。条件注释在Windows上的IE 5中首次出现,并且得到了Windows浏览器的所有后续版本的支持。

条件注释的基本结构和HTML的注释(<!– –>)是一样的。因此IE以外的浏览器将会把它们看作是普通的注释而完全忽略它们。

IE将会根据if条件来判断是否如解析普通的页面内容一样解析条件注释里的内容。

条件注释使用的是HTML的注释结构,因此他们只能使用在HTML文件里,而不能在CSS文件中使用。

要想将特定的样式表提供给IE5和更高的所有版本,那么可以在HTML文档的开头放置以下代码:

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

除了IE浏览器,其他浏览器只会看到一些被注释掉的文本。

可使用如下代码检测当前IE浏览器的版本(注意:在非IE浏览器中是看不到效果的)

<!--[if IE]>

<h1>您正在使用IE浏览器</h1>

<!--[if IE 5]>

<h2>版本 5</h2>

<![endif]-->

<!--[if IE 5.0]>

<h2>版本 5.0</h2>

<![endif]-->

<!--[if IE 5.5]>

<h2>版本 5.5</h2>

<![endif]-->

<!--[if IE 6]>

<h2>版本 6</h2>

<![endif]-->

<!--[if IE 7]>

<h2>版本 7</h2>

<![endif]-->

<![endif]-->

常用判断语句

<!–[if !IE]>除IE外都可识别<![endif]–>

<!–[if IE]> 所有的IE可识别 <![endif]–>

<!–[if IE 5.0]> 只有IE5.0可以识别 <![endif]–>

<!–[if IE 5]> 仅IE5.0与IE5.5可以识别 <![endif]–>

<!–[if gt IE 5.0]> IE5.0以及IE5.0以上版本都可以识别 <![endif]–>

<!–[if IE 6]> 仅IE6可识别 <![endif]–>

<!–[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]–>

<!–[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]–>

<!–[if IE 7]> 仅IE7可识别 <![endif]–>

<!–[if lt IE 7]> IE7以及IE7以下版本可识别 <![endif]–>

<!–[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]–>

注释:

lte:就是Less than or equal to的简写,也就是小于或等于的意思。

lt :就是Less than的简写,也就是小于的意思。

gte:就是Greater than or equal to的简写,也就是大于或等于的意思。

gt :就是Greater than的简写,也就是大于的意思。

! :就是不等于的意思,跟JavaScript里的不等于判断符相同

有人会试图使用<!–[if !IE]>来定义非IE浏览器下的状况,但注意:条件注释只有在IE浏览器下才能执行,这个代码在非IE浏览下非但不是执行该条件下的定义,而是当做注释视而不见。

正常就是默认的样式,对IE浏览器需要特殊处理的,才进行条件注释。

返回顶部
顶部