是否没有必要像HTML一样关闭HTML 5中的标记?或者它是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不利?
答案 0 :(得分:9)
该标记确实有效。 <p>
tags don't have to be closed in HTML 4.01 or HTML5.我不确定您认为HTML5需要像XHTML一样关闭所有内容。
HTML5只是具有额外新功能的常规HTML(因此版本从4.01跳到5)。它绝不是源于XHTML。您可以关闭所有HTML5代码,使其看起来像格式良好的XML,但规范并非要求。
答案 1 :(得分:7)
HTML5创建者认为更严格的XHTML规则并不适合 网络
差不多,是的。
他们的观点是,它只会让创建网页变得更难。 HTML已经取得了巨大的成功,因为几乎任何人都可以创建一个可用的网页而根本不知道任何HTML。开始时这是一个非常小的学习曲线,人们可以在它们准备就绪时进行构建。
如果你需要了解很多迂腐规则才能开始,那么很多人都不会打扰,HTML也不会那么成功。
答案 2 :(得分:0)
将<p>
元素的结束标记保留在大多数情况下是有效的,尽管有一些不是。 exact rules at the World Wide Web Consortium是:
如果 p 元素后面紧跟address,article,{{3},则可以省略 p 元素的结束标记},aside,目录,blockquote,div,dl,fieldset,footer,form,{{3} },h1,h2,h3,h4,h5,h6,header,hr, menu,p,nav,ol,pre或section元素,或者如果父元素中没有其他内容且父元素为不是table元素。
因此,例如,以下内容无效:
<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更严格。