是否有可以嵌套在其他元素中的 HTML5 元素列表?

Is there a list of HTML5 elements that can be nested inside other elements?

我正在尝试弄清楚哪些HTML标签可以嵌套其他HTML tags 这样我就可以为 W3C 编写 有效的 HTML 5 文档并尊重 flow

是否有一个列表包含每个 HTML 标签可以包含的所有元素?

例如,对于 <a> 标签,它可以包含:

TT | I | B | BIG | SMALL | EM | STRONG | DFN | CODE | SAMP | 
KBD | VAR | CITE | ABBR | ACRONYM | A | IMG | OBJECT | BR | 
SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO | INPUT | SELECT | TEXTAREA | LABEL | BUTTON

我已经在 W3C 或 Google 上搜索过,但需要搜索每个标签。

您还可以在 <a> 标签内添加 <div> 等等。

您总是可以阅读 HTML 标准文档 (https://html.spec.whatwg.org/),

但由于这会花费很长时间,我建议您开始编写代码,并假设一切皆有可能;)

然后使用诸如 https://validator.w3.org/

之类的有效性检查器检查您完成的代码

https://html.spec.whatwg.org/multipage/indices.html#elements-3
https://html.spec.whatwg.org/multipage/indices.html#element-content-categories

由于这些有用的部分被标记为“non-normative”,从技术上讲,您必须转到每个元素列表(a,例如:https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-a-element) 并检查内容模型定义,它并不总是 100% 简单明了,但仍然可以通过编程方式相当有用地使用。

如果您不介意的话,互联网上到处都有此类列表的页面;您只需要相信他们会根据规范正确地编制列表。

W3C 已将 HTML5 的控制权交给 WHATWG。
https://www.w3.org/html/
http://w3.org/tr/html5

历史上(HTML5 已经改变了一些规则),内联元素可以是大多数东西的子元素,而块元素不能是内联元素的子元素,所以只要知道什么是内联什么是内联块(块元素默认占用可用宽度,通常强制前后元素线性地在上方和下方),将会有很长的路要走。