HTML5 引用清楚地表明何时p
可以省略
因为这就是大多数 Google 员工必须来这里的原因:4.4.1 “p 元素” https://html.spec.whatwg.org/multipage/grouping-content.html#the-p-element
text/html 中的标记省略:
如果 p 元素后面紧跟着 address、article、aside、blockquote、details、div、dl、fieldset、figcaption、figure、footer、form、h1、h2、h3、h4、h5,则可以省略 p 元素的结束标记、h6、header、hgroup、hr、main、menu、nav、ol、p、pre、section、table 或 ul 元素,或者如果父元素中没有更多内容并且父元素是 HTML 元素不是 a、audio、del、ins、map、noscript 或 video 元素,也不是自主自定义元素。
值得注意的是,其他一些结束标签也可以省略,例如li
:https ://html.spec.whatwg.org/multipage/grouping-content.html#the-li-element
完整列表可在 12.1.2.4 “可选标签” https://html.spec.whatwg.org/multipage/syntax.html#optional-tags中找到
但是,正如其他人提到的那样,我不建议这样做。
这个 HTML“特性”是HTML5 不是 XML 子集的原因之一。
历史课
我在 Wikipedia 上阅读 HTML 的历史,当我看到关于IBM 通用标记语言的页面时,它是 SGML 的前身,它是 SGML 的前身,它是 XML 的前身,它是 HTML 的前身,当我看到这个宝石时文件样本:
:h1.Chapter 1: Introduction
:p.GML supported hierarchical containers, such as
:ol.
:li.Ordered lists (like this one),
:li.Unordered lists, and
:li.Definition lists
:eol.
as well as simple structures.
:p.Markup minimization (later generalized and formalized in SGML),
allowed the end-tags to be omitted for the "h1" and "p" elements.
该示例是从 GML 的创建者之一的主页逐字复制的。
所以这个世界是如何运转的有点好笑。在 70 年代,人们已经想要自动关闭。然后它演变成 XML,这是一种更明智的禁止自动关闭的东西。但后来我们在 HTML 中自动关闭。HAML 模板语法也浮现在脑海中。h1
也不是标签名称与 HTML ( , p
, ol
, li
)中的标签名称如何相同。