HTML – 即条件评论需要解释

HTML – 即条件评论需要解释,第1张

概述以下代码用于可靠的跨浏览器IE版本检测 <!--[if lt IE 7 ]><body class="ie_6"><![endif]--><!--[if IE 7 ]><body class="ie_7"><![endif]--><!--[if IE 8 ]><body class="ie_8"><![endif]--><!--[if IE 9 ]><body class="ie_9"><! 以下代码用于可靠的跨浏览器IE版本检测
<!--[if lt IE 7 ]><body ><![endif]--><!--[if IE 7 ]><body ><![endif]--><!--[if IE 8 ]><body ><![endif]--><!--[if IE 9 ]><body ><![endif]--><!--[if (gt IE 9)|!(IE)]><!--><body><!--<![endif]-->

我不明白的是,为什么它在起作用.为什么正常< body>没有覆盖< body class =“IE_9”>因为它只是一个普通的标签,所以应该被所有浏览器识别.

什么是魔术

<!-->    <body>    <!--
解决方法 你可能想改变!(IE)到(!IE)

此外,“正常”< body>你正在谈论的标签是有条件评论.事实上,它在不同的行上并不重要,它仍然在条件注释标记内,因此受到影响.

IE的条件注释使用普通的HTML注释<! - - >所以“假”条件中的任何代码都只是被注释掉了; <! - < body class =“ie6”> – > IE然后在其中有自己的语法.因此,非IE浏览器只看到一个注释字符串,IE将其视为要执行的语句.

因此,只显示一个正文标记,并且只使用该标记.

更多解释

<!--[if (gt IE 9)|!(IE)]><!--><body><!--<![endif]-->

对于IE,这说:

<if greater than IE9,or not IE> (IE conditional comment)<!--> (empty comment) (--> putting this here to stop SO ruining Syntax highlighting :D)<body><end if> (IE conditional comment)

如果你不明白为什么,请阅读从“IE工作的条件评论……”开始的段落.

与任何其他浏览器相同的块看起来像这样:

<!--[if (gt IE 9)|!(IE)]><!--> (this is just one comment,containing the text "[if (gt IE 9)|!(IE)]><!")<body><!--<![endif]--> (again,just one comment,containing "<![endif]")
总结

以上是内存溢出为你收集整理的HTML – 即条件评论需要解释全部内容,希望文章能够帮你解决HTML – 即条件评论需要解释所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1140663.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存