为什么必须使用起始和结束标记定义<content>标记?

时间:2015-09-04 17:10:42

标签: html html5 polymer web-component

我在Firefox / Chrome中使用这两种语法来定义WebComponent。

打开标记

<content></content>

已关闭代码

<content/>

并且都按预期工作。

以第一种方式定义<content>的(技术)原因是什么?

MDN Content element表示起始和结束标记必需,但未指定原因。

1 个答案:

答案 0 :(得分:1)

您实际上必须使用<content></content>表单。在普通的HTML(非XML)文档(这是您要在此处制作的文档)中,使用HTML解析在所有浏览器引擎中工作的标准方式,<content/>标记不是一个content结束标记 - 而不是它只是一个content开始标记,其中包含额外的/,HTML解析器会忽略它。

在您的情况下,这意味着当HTML解析器没有看到</content>的任何content结束标记时 - start-tag-with-extra - / - at-the结束时,解析器永远不会实际关闭content元素,以便*跟随content元素的所有节点都成为它的子内容。

要了解我的意思,请查看DOM view of what the <content/> looks like to an HTML parser

enter image description here

  

MDN Content元素表示空标记表单是必需的,但未指定原因。

我不确定你的意思是“空标签形式”。该MDN页面说:

  

标记省略:无,开始和结束标记都是必需的。

这意味着content元素必须具有结束标记。