条件注释

条件注释

条件注释 (conditional comment) 是于HTML源码中被 Microsoft Internet Explorer 有条件解释的语句。条件注释可被用来向 Internet Explorer 提供及隐藏代码。

条件注释最初于微软的 Internet Explorer 5浏览器中出现,并且直至 Internet Explorer 9 均支持。[1]微软已宣布于 Internet Explorer 10 中以标準模式处理页面 - 如 HTML5 - 时停止支持,但是旧版网页使用这种技术(于兼容性视图)将继续有效。[2]JScript 条件注释于 Internet Explorer 4 中被引进,而在 Internet Explorer 10 中继续受支持,无论于标準模式或者兼容性模式之中,但在 Windows 套用商店应用程式中不受支持。

    • 中文名:条件注释
    • 外文名:Conditional comments
    • 解释:一种区分IE浏览器版本的语法
    • 条件注释:只能用于IE5以上。

条件注释简介

IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的hack方法。

条件注释只能用于IE5以上。

如果你安装了多个IE,条件注释将会以最高版本的IE为标準。

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

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

条件注释属性

gt : greater than,选择条件版本以上版本,不包含条件版本

lt : less than,选择条件版本以下版本,不包含条件版本

gte : greater than or equal,选择条件版本以上版本,包含条件版本

lte : less than or equal,选择条件版本以下版本,包含条件版本

! : 选择条件版本以外所有版本,无论高低

条件注释写法

用于非 IE

示例

这里是一个演示条件注释如何工作的简单示例。

You are not using Internet Explorer.

句法

有两种“条件注释”:下层显示 (downlevel revealed)下层隐藏(downlevel hidden)

每种注释的基本句法如下表所示。第一条展示的是基本的 HTML 注释,被包括在内作为比较以及用以说明被每种条件注释使用的不同句法。

注释类型句法或可能取值
标準 HTML 注释

downlevel-hidden

downlevel-revealed

expression]>HTML

于每个条件注释之中的句法块内的 HTML 表示任意的 HTML 内容块,包括脚本。两种条件注释均使用条件表达式以指示注释块内的内容应该被解析还是被忽略。条件表达式由特性,操作符,和/或决定于其特性的值组成。下表展示了支持的特性并描述了每种特性支持的值。

项目示例说明
IE

[if IE]

字元串 IE 是一种对应于用以浏览网页的 Internet Explorer 的版本的一种特性

value

[if IE 7]

一个对应于浏览器版本的整数或浮点数。返回一个布尔值,版本号和浏览器版本相匹配时为 true。更多信息参见版本向量(en:Version vector)。

WindowsEdition

[if WindowsEdition]

适用于 Windows 7 上的 Internet Explorer 8。字元串 WindowsEdition 是一种对应于用以浏览该网页的 Microsoft Windows 版本的特性

value

[if WindowsEdition 1]

一个对应于用以浏览该网页的 Windows 的版本的整数。返回一个布尔值,数值和使用的版本相匹配时为真 true。关于所支持的值和它们所描述的版本的更多信息,参见GetProductInfo 函式的pdwReturnedProductType参数。

true

[if true]

永远等价于 true.

false

[if false]

永远等价于 false.

可用于创造条件注释的算符如下表。

项目示例说明
!

[if!IE]

NOT 运算符。这被放在特性,算符, 或者子表达式的前面以反转该表达式的布尔值含义。

lt

[if lt IE 5.5]

小于运算符。第一项小于第二项时返回 true。

lte

[if lte IE 6]

小于或等于运算符。第一项小于或等于第二项时返回 true。

gt

[if gt IE 5]

大于运算符。第一项大于第二项时返回 true。

gte

[if gte IE 7]

大于或等于运算符。第一项大于或等于第二项时返回 true。

( )

[if!(IE 7)]

子表达式运算符。用以连线布尔算符以创造更加複杂的表达式。

&

[if (gt IE 5)&(lt IE 7)]

AND 运算符。所有子表达式为真时返回 true。

|

[if (IE 6)|(IE 7)]

OR 运算符。子表达式任意一个为真时返回 true。

相关词条

相关搜索

其它词条