所以,我在 Magento WYSIWYG 编辑器(所有东西)中闲逛时注意到<!>
呈现为<!---->
在生成的 HTML 中。似乎也将任何字符串括在<! >
呈现正常的<!-- [string] -->
评论。我只在 Chrome 中测试过这一点,但这种行为对我来说似乎有点奇怪。我看过W3C 规范评论 http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.4, 也this https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/The_Importance_of_Correct_HTML_CommentingMDN 上的小文档。不过,他们都没有给我一个我真正能理解的答案。有什么意义注释开放分隔符(“--”),如果将其遗漏,如何<!>
似乎总是会产生正确的评论?也许我的浏览器刚刚摆脱了无效标记?为什么不是<!>
只是呈现为文本?我知道这并不重要,甚至与任何事情都无关,但我只是好奇!
形式上,HTML 4.01 之前的 HTML 中的注释语法很复杂,遵循 SGML 标准,但实际上 HTML 从未作为 SGML 应用程序实现。旧页面HTML 注释 http://www.htmlhelp.com/reference/wilbur/misc/comment.htmlby WDG 简要解释了 HTML 注释语法并对其做了一些实用注释。在实践中,评论应该以<!--
并结束于-->
。这在 XHTML 和 HTML5 中变得正式。
但是浏览器已经更自由地实现了注释语法,因此您可以使用<!
并结束于>
(尽管这不是官方的,并且会导致 HTML5 验证器发出错误消息)。这已被描述和规定为 HTML5 解析规则中所需的浏览器行为,请参阅第 8.2.4.45 节标记声明打开状态 http://www.w3.org/TR/html5/syntax.html#markup-declaration-open-state,它定义了如何进入“虚假评论状态”。
Thus, <! foo >
实际上可以工作(并在 DOM 中创建注释节点),但在 XHTML 和 HTML5 中是禁止的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)