你能在HTML5中定义自己的自闭标签吗?

时间:2013-07-17 12:47:55

标签: html5 tags

我已阅读this主题,但我仍有疑问。 有没有办法定义void标签?

我试过了:

<icon class="home"/> (know that slash isn't obligatory)

但是,如果在此标记FF关闭它们之后有任何文本内容。

<icon class="home"/> Go home

使得

<icon class="home">Go home</icon>

我应该定义哪个标签是void-element?或者HTML5是不可能的?

2 个答案:

答案 0 :(得分:3)

目前这不是一个答案,因为它没有完全解决问题,但它不适合评论部分。

如果解析为html5规范(//>foreign elements,则浏览器会忽略MathLM中的SVG,因为这些元素这个模块他们的规范有自封闭元素,所以它需要保持有效)

规格的相关部分:

(浏览器应该如何处理丢失的标签以及忽略/的相关部分缺失,我需要查看)

如果元素是void element,则不会生成结束标记,因为它不需要一个。

对于其他元素,如果缺少结束标记,则创建结束标记。 所以,如果你写这样的东西:

<div>
    <div/>test
</div>

这将导致

<div>
    <div>test</div>
</div>

因为忽略了/

默认情况下,自定义元素为non-void。我知道Custom Elements有一个草稿但老实说我不知道​​某些浏览器是否已经支持它。但即使是这样,你也会遇到向后兼容的问题。所以我不建议使用它。

即便如此,定义一个没有前缀x-的标签名称也是一个坏主意,因为如果以后某个元素是由你选择的名称添加的,那么如果有其他意义,你就会遇到问题。 / p>

只要我有时间查看规格,我就会提供相应的缺失部分来证明这一点。

答案 1 :(得分:-2)

您不应定义自己的HTML标记,期限。

HTML很有用,因为它是一组商定的标签含义。

(例如,浏览器可以点击链接,因为我们已经同意(通过HTML规范)<a>标记是指向其他网页的链接。)

可以创建自己的标签,但除了你自己之外,它们对任何人都没有意义。

对于给定的目的,这可能没问题,但你不再使用HTML了。