在HTML中,为什么<h>被划分为容器级标签,而<p>被划分为文本级标签?(注意是HTML划分,不是CSS)

html中的容器级标签和文本级标签,css中的块级元素和行内元素是我们常常拿来比较的四个名词

容器标签

容器级的标签可以简单的理解为能嵌套其它所有标签的标签。
常见容器级的标签: div h ul ol dl li dt dd ...。
文本标签

文本级的标签对应容器级标签,只能嵌套文字/图片/超链接的标签。
常见文本级的标签:span p buis strong em ins del ...。
块级元素

css中的块级元素基本与html中的容器级标签对应,包括: p div h ul ol dl li dt dd ...。

ps:不用刻意去记忆哪些标签是文本级的哪些标签是容器级, 在企业开发中一般情况下要嵌套都是嵌套在div中, 或者按照组标签来嵌套(ul>li, ol>li , dl>dt+dd).*
行内元素

行内元素也基本与文本标签对应:span buis strong em ins del。

阅读 4.3k
2 个回答

这种有争议的内容一般先给个出处吧。其实很多情况都是翻译本身有问题,然后被转载的时候改来改去就成以讹传讹了……


MDN上的说法是Heading Elements(即<h1>~<h6>的合称)的分类同时是Flow content、heading content和palpable content,但哪个才是“容器级”标签我不好分辨,建议还是用英文吧~

出处:

  1. MDN:Heading Elements

  2. MDN:Content categories

大约是因为很多浏览器允许你写不闭合的标签。

<p>aaa
<p>bbb

会被解析成

<p>aaa</p>
<p>bbb</p>

如果允许嵌套,那么这样写的页面就会GG

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题