HTML 5中是否像HTML一样需要关闭标签?

7

HTML 5与HTML一样,需要关闭标签吗?还是W3C验证器有缺陷?

为什么这段代码在W3C验证器中是有效的?

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>title</title>
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
  </head>
  <body>
<p>Some Text
  </body>
</html>

如果这在HTML5中真的有效,我会感到惊讶。但是保持这种行为在HTML5中有效是否有益处?HTML5的创建者是否认为XHTML更严格的规则对Web不利呢?


你确定它通过了W3X验证器吗?标签需要被关闭。 - Jonathan Weatherhead
类似的问题已经被问过了。 - hamiltop
HTML5的创建者认为XHTML更严格的规则对Web不利吗?开玩笑吧?大多数人不会阅读,甚至拼写都不行,更别说遵循极其精确的文档了。 - Ignacio Vazquez-Abrams
哦,关闭哪个标签?<p>标签? - BoltClock
@BoltClock - 是的,<p> 标签。 - Jitendra Vyas
</body></html>标签也不是必需的。 - Zaz
3个回答

9

这个标记确实是有效的。在HTML 4.01或HTML5中,<p>标签不需要关闭。我不确定你从哪里得到HTML5需要像XHTML一样关闭所有标签的想法。

HTML5只是普通的HTML,具有额外的新特性(因此版本从4.01跳到5)。它并没有以任何方式源自XHTML。您可以关闭所有HTML5标记,使其看起来像格式良好的XML,但规范并不要求您这样做。


我只是认为在HTML5中它将无效。但如果它是HTML 4.01和HTML 5规范的一部分,为什么它们没有在HTML5中进行更改。我不认为不关闭标签有任何好处。我只是认为XHTML的一些优点应该被采用到HTML 5中。 - Jitendra Vyas
5
那么要求使用闭合的 </p> 标签有什么好处呢? - BoltClock
那么不关闭HTML、head和body标签也可以吗? - Jitendra Vyas
但是这段代码在w3c验证器中也是有效的 http://chopapp.com/#42j7l4wt 我删除了head,body和html的闭合标签。 - Jitendra Vyas
哦,那是我的错误。如果您需要知道标签是否需要关闭,请参考规范。http://www.w3.org/TR/html-markup - BoltClock
@BoltClock 的好处在于你的文本编辑器中更有组织性(可折叠元素)。 - Jeremy

7
HTML5的创建者认为XHTML更严格的规则并不适合Web吗?
是的,他们这样认为。他们认为这只会使得网页制作变得更加困难。HTML之所以如此成功,是因为几乎任何人都可以在几乎不了解HTML的情况下创建一个工作的网页。它的学习曲线非常小,人们可以根据自己的需要逐步建立知识体系。
如果你需要了解很多琐碎的规则才能入门,那么很多人就不会去尝试,HTML也就不会那么成功了。

0
在大多数情况下,省略 <p> 元素的结束标记是有效的,但也有一些情况不行。世界互联网联盟的精确规则如下:
如果一个p元素紧接着是addressarticleasideblockquote、dir、divdlfieldsetfooterformh1h2h3h4h5h6headerhrmenunavol、p、presectiontableul元素,或者父元素没有更多内容且父元素不是a元素,则可以省略p元素的结束标签。

例如,以下内容是无效的:

<a href="http://example.com><p>This paragraph is unclosed</a>

但这是有效的:

<div class="news"><p>Something important happened!</div>

HTML从来没有要求必须关闭<p>标签,这是可选的。你可以关闭HTML标签,使其看起来像格式良好的XHTML,但这并非必需。XHTML比HTML更严格。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接