条件评论从哪里获取信息?

时间:2012-01-05 18:56:05

标签: html

示例:

<!--[if IE 6]>You suck!<![endif]-->

是否从用户代理处获取其信息?

6 个答案:

答案 0 :(得分:4)

这些被称为conditional comments,只有IE支持,所以简而言之,它们是IE的一个功能。

请参阅http://www.quirksmode.org/css/condcom.html以获得更详细的解释。

答案 1 :(得分:2)

回答你的问题是,它需要来自用户代理的信息,但我只会在IE中工作,当你用chrome或ff更改用户代理时,它将无法工作。

从ie6获取此图片来自我的Windows NT(虚拟PC):

enter image description here

我在此图片中从ie6更改了用户代理,您可以看到:

enter image description here

答案 2 :(得分:1)

Internet Explorer自己的渲染引擎/解析器在所有HTML注释中查找这些条件,因为它从标记构建DOM。所以他们可以去任何地方,并按照它们出现的顺序进行解释。

答案 3 :(得分:1)

这仅适用于Internet Explorer 。这不会从任何其他浏览器中读取,并且被视为评论(这就是为什么它看起来完全像评论)。它不是CSS而是HTML注释,其中IE知道版本是否匹配以执行内部操作 - 加载css或其他内容。

它仅是IE特定的(和其他MS产品)功能。

添加:Outlook也在HTML电子邮件中使用此类子句:<!–[if gte vml 1]>

答案 4 :(得分:1)

根据MSDN,IE条件注释使用版本向量来获取运行浏览器的IE和Windows版本。 Firefox和所有不同的浏览器基本上都会跳过这些注释,因为它们位于HTML注释中。但是,由于IE应该读取它们,它基本上不会跳过那些特定的。

答案 5 :(得分:0)

我认为你反过来了:浏览器本身呈现CSS当且仅当浏览器可以解析指令时(在这种情况下,[if IE]指令)它是而不是服务于动态CSS的服务器,具体取决于用户代理。