我已经阅读了这个主题,但我仍然有疑问。有没有办法定义 void 标签?
我试过这个:
<icon class="home"/> (know that slash isn't obligatory)
但是,如果这个标签 FF 关闭它们之后有任何文本内容。
<icon class="home"/> Go home
使
<icon class="home">Go home</icon>
我应该在某个地方定义标签是无效元素吗?还是不能用 HTML5 做?
这目前不是答案,因为它没有完全解决这个问题,但它不适合评论部分。
如果解析为 html5 规范,浏览器会忽略 in(除了and /
,因为对于此模块的元素,它们的规范具有自封闭元素,因此它需要保持有效)/>
foreign elements
MathLM
SVG
规格的相关部分:
(浏览器应该如何处理丢失的标签并且他们忽略的相关部分/
丢失了,我需要查找这个)
如果元素是一个void element
没有结束标记,则生成,因为它不需要一个。
对于其他元素,如果缺少,则创建结束标签。所以如果你写这样的东西:
<div>
<div/>test
</div>
这将导致
<div>
<div>test</div>
</div>
因为/
被忽略了。
默认情况下自定义元素non-void
。我知道自定义元素有一个草稿,但老实说,我不知道某些浏览器是否已经支持它。但即使是这样,你也会遇到向后兼容的问题。所以我不建议使用它。
即使这样定义一个不以 an 前缀的标签名称x-
也是一个坏主意,因为如果稍后一个元素由规范添加,并且具有您选择的名称,并且如果它具有其他含义,那么您将遇到问题。
一旦我有时间查看规格,我将提供相应的缺失部分来证明这一点。
您不应该定义自己的 HTML 标记,句号。
HTML 很有用,因为它是一组公认的标签含义。
(例如,浏览器使链接可点击,因为我们已经(通过 HTML 规范)同意该<a>
标签是指向另一个页面的链接。)
您可以创建自己的标签,但除了您自己之外,它们对任何人都没有意义。
对于给定的目的,这可能很好,但您不再真正使用 HTML。