条件注释简介
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。 |

















