我刚看到这样的网站:
<!doctype html>
<head>
..
</head>
<body>
</body>
没有<html>
,是标准吗?
答案 0 :(得分:6)
正如您所看到的from the specs,HTML 4一直允许html
,head
和body
标记都是可选的。
HTML5规范(您在样本中观察到的DOCTYPE)also says:
如果html元素中的第一个内容不是注释,则可以省略html元素的开始标记。 如果html元素后面没有注释,并且元素包含一个非空的body元素或者没有省略其开始标记,则可以省略html元素的结束标记。
那么,如果“是标准吗?”你的意思是,“根据标准这是合法的吗?”,答案是“是”。
但是,如果“是标准吗?”你的意思是,“这是常见的吗?”,那么答案是:“不,你会发现大多数网络互联网浩瀚海洋中的页面往往包含在<html>
元素中。
请注意,XHTML不是这种情况。来自the specs:
文档的根元素必须是
html
。
答案 1 :(得分:2)
它们是可选的/暗示的,但如果你省略它们,你会在IE和其他浏览器中遇到错误,所以最好保持一致并且只是拥有它们。
此外,在某些情况下,您可能希望直接在html
元素上对类进行硬编码,因此这是明确将其放在那里的另一个原因。
答案 2 :(得分:0)
我很确定HTML5可以让你省去很多这样的标签;我会非常不同意这样做。
答案 3 :(得分:0)
实际上,使用html是一种标准。但你可以用其他方式做到这一点,它只是一个标准。使用<!doctype html>
是一种强制浏览器进入标准模式的方法。在这里查看更多信息http://themaingate.net/dev/html/all-you-need-is-doctype-html ...在经过测试的浏览器中,100%的测试都得到了积极的测试。
答案 4 :(得分:0)
这不是必需的,但强烈建议,我没有理由不使用它。