在 IE5.0 及以上版本中支持条件注释,也就是说 IE 会解释这种特定的注释,但其它浏览器则会隐藏这些注释。这在编写兼容浏览器的代码时非常有用。虽然目前只有 IE5.0 及以上版本中支持条件注释,但是它的功能却是用来兼容其它的浏览器。
如果您想非常详细地了解条件注释,请参见微软的 MSDN:About Conditional Comments(可能是英文站点),下面我们对条件注释作个系统的介绍。
语法:
注释类型 | 语法或可能的值 |
---|---|
标准 HTML 注释 | <!--Comment content --> |
downlevel-hidden | <!--[if expression]> HTML <![endif]--> |
downlevel-revealed | <![if expression]> HTML <![endif]> |
请注意:
是 <!--[if expression]> 不是 <!--[if expression]-->
是 <![if expression]> 不是 <!--[if expression]-->
解释:
downlevel-hidden:
<!--[if expression]> HTML <![endif]-->
由于整个语句包含在 <!-- --> 中,所以在 IE 以外的浏览器中,会将其当作注释,而在 IE 中,由于支持这种语法,所以会根据特定的结构来执行不同的语句。
有过程序基础的,都会了解,如果 expression 为 true,则显示 HTML。
downlevel-revealed:
<![if expression]> HTML <![endif]>
由于这里没有注释符,所以在 IE 以外的浏览器中会显示 HTML,而 IE 中,则视条件决定显示否。
expression
那么 expression 可以是什么呢?
应用示例
怎么样?比 JS 判断简单吧?再看一个例子。
如果是 IE 浏览器(不论版本),就引用 iestyles.css 这个样式表文件。