我已阅读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是不可能的?
答案 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了。