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

时间:2019-06-07 16:56:54

标签: html w3c

我正在尝试找出哪些HTML标签可以在其他HTML标签中进行嵌套,因此我可以写一个有效的适用于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上进行过搜索,但是需要搜索每个标签。

2 个答案:

答案 0 :(得分:2)

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

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

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

从技术上讲,W3C和WHATWG在这方面具有相互竞争的标准,人们称其为“ HTML5 ”。说谁将完全胜出并非完全简单。 W3C使用了一个验证程序,该验证程序可以根据WHATWG的规范进行验证,这向我暗示(即使只是一点点)WHATWG的职责更多。

从历史上看(HTML5改变了一些规则),内联元素可以是大多数事物的子元素,而块元素则不能是内联元素的子元素,因此只需了解什么是内联元素和什么是块元素(块元素就占了上风)可用宽度,默认情况下,通常将前/后元素线性地强制在上方和下方)将大有帮助。

答案 1 :(得分:0)

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

您始终可以阅读HTML标准文档(https://html.spec.whatwg.org/

但是因为这将花费很长时间,所以我建议您开始编写您的代码,并假设一切皆有可能;)

请使用https://validator.w3.org/之类的有效性检查器检查完成的代码