我正在验证我的代码,并收到以下错误Tag cannot be self-closing. Use an explicit closing tag.
在 IE 中作为我的 svg 路径,因为它是自动关闭的。
<path
d="m53.911,10.023c-1.46-.898-3.195-1.019-4.699-1.019h-3.439c"
/>
现在我知道 HTML5 中的元标记不需要向前破折号/
,你只需关闭它们>
。同样的事情也适用于 svg 标签吗?就像这样:
<path
d="m53.911,10.023c-1.46-.898-3.195-1.019-4.699-1.019h-3.439c"
>
或者……使用明确的结束标签?就像这样:
<path
d="m53.911,10.023c-1.46-.898-3.195-1.019-4.699-1.019h-3.439c"
>
</path>
关闭路径的正确方法是什么?
罗伯特·朗森的回答 https://stackoverflow.com/a/24301479/很棒,但是链接到已标记的文档 http://www.w3.org/TR/html-markup/Overview.html#abstract as:
本文档已停止使用,仅用于历史目的。
我想找到一些关于此行为的最新规范,这是我发现的:
A 自闭合标签是一种特殊形式开始标签在右尖括号之前有一个斜线。这些表明该元素将立即关闭,并且没有内容。如果允许并使用此语法,则end tag必须省略。在 HTML 中,此语法的使用仅限于空元素 and 外来元素。如果它用于其他元素,则将其视为开始标记。
Source: W3C HTML5 参考编辑草案 http://dev.w3.org/html5/html-author/#tags
开始标签必须具有以下格式:
…
- 那么,如果该元素是其中之一空元素,或者如果该元素是外来因素,则可能有单个 U+002F SOLIDUS 字符 (/)。该角色对以下内容没有影响空元素,但是在外来元素它将开始标记标记为自动关闭。
Source: WHATWG 的 HTML 生活标准 https://html.spec.whatwg.org/multipage/syntax.html#start-tags
and HTML:生活标准 - Web 开发人员的技术规范 https://developers.whatwg.org/syntax.html#start-tags
内联 SVG 和 MathML 支持
…
语法<foo/>
如果 foo 元素是 MathML 或 SVG 元素(即不是 HTML 元素),则打开并立即关闭 foo 元素。
Source: Mozilla 开发者网络的 HTML5 解析器 https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/HTML5_Parser
结论:罗伯特·朗森在书中写道他的回答 https://stackoverflow.com/a/24301479/仍然有效。 IE11开发者工具中的这个警告是错误的。在 HTML5 中使用自关闭语法是有效的(但仅适用于空元素, 例如<br/>
; or 外来元素,它们来自 MathML 和 SVG)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)