最低限度的HTML5 - 是否有效?

时间:2015-02-06 07:02:19

标签: html5

我正在读D3,其中一张幻灯片提到了Paul Irish的most minimal HTML page

<!DOCTYPE html>
<meta charset="utf-8">
<body>
Hello, world!

我完全理解这个HTML的作用 - 然而,世界上这个HTML5是如何有效的,而且,它是否符合标准?或者这只是它的工作情况,但它会使规则

1 个答案:

答案 0 :(得分:4)

HTML5 spec描述了 text / html中的标记省略下可以省略的标记。但是,spec states

  

非规范描述是否在text / html语法中   开始和结束标签可以省略。这些信息是多余的   可选标签部分给出的规范要求,是   元素定义中提供的只是为了方便。

由于它是非规范性的,我们不能依赖它来进行一致性检查。在规范optional tags部分中,它列出了:

  

如果内部的第一件事,可以省略html元素的开始标记   html元素不是评论。

     

如果html元素不是,则可以省略html元素的结束标记   紧接着发表评论。

     

如果元素为空,则可以省略头元素的开始标记   如果head元素中的第一个元素是元素。

     

如果头元件不是,则可以省略头元件的结束标签   紧接着是空格字符或评论。

     

如果元素为空,则可以省略body元素的开始标记   如果body元素中的第一个东西不是空格字符或   注释,除非body元素中的第一个东西是a   元,链接,脚本,样式或模板元素。

     

如果身体元素不是,则可以省略身体元素的结束标记   紧接着发表评论。

所以看起来文档是有效的,除了缺少<title>,这可能是w3 validator抱怨的原因。还有迹象表明需要<title>。首先,<head>内容模型部分是规范性的,声明:

  

如果文档是iframe srcdoc文档或标题信息   可从更高级别的协议获得:零个或多个元素   元数据内容,其中不超过一个是title元素而不是   不止一个是基本元素。

     

否则:元数据内容的一个或多个元素,其中确切地说   一个是标题元素,不超过一个是基本元素。

spec states

  

对儿童必须包含哪些内容的规范性描述   和元素的后代。