关于HTML条件注释

fed*_*o-t 2 html browser internet-explorer conditional-comments internet-explorer-6

我试图显示跨度,A如果浏览器是IE 6或更低,或者B如果浏览器大于IE 6或不是IE ,则显示跨度.

<!--[if lte IE 6]><!--><span>You're using IE 6 or lower.</span><!--<![endif]-->
<!--[if (!IE)|(gt IE 6)]><!--><span>You're using IE 7 or greater or another browser.</span><!--<![endif]-->?
Run Code Online (Sandbox Code Playgroud)

这在我拥有的每个Internet Explorer版本中都能很好地工作,但在Chrome和Firefox中都会显示两个版本.我猜他们不认识这种条件,因为它们是微软特有的.

有没有一种方法可以不重复使用JavaScript?

geo*_*ock 6

你的第一个条件评论应该是:

<!--[if lte IE 6]><span>You're using IE 6 or lower.</span><![endif]-->
Run Code Online (Sandbox Code Playgroud)

这是一个注释(<!-- … -->),大多数浏览器都会这样对待.只有IE会将其视为注释以外的任何内容,只有IE <= 6才会显示span.

将其与现有产品进行比较:

<!--[if lte IE 6]><!--><span>You're using IE 6 or lower.</span><!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)

这是两个注释(<!--[if lte IE 6]><!--><!--<![endif]-->),它们之间有一些标记.由于只有IE了解评论有任何特殊之处,因此其他浏览器会显示内容,但不会显示两条评论.

您可以在Quirksmode上找到有关条件注释的详尽指南.