从不使用
有任何缺点<html> and <body>
在您的网页上用HTML和PHP编写的? 我的意思是,一切都可以完美地使用它或没有它,所以为什么要使用它?
答案 0 :(得分:6)
它们在规范中是明确可选的(因此文档仍然有效)。
这是真的,因为original spec(表示 <!ELEMENT HTML O O (( HEAD | BODY | %oldstyle)*, PLAINTEXT?)>
,O O
表示开始标记可选,结束标记可选)直到{{3如果html元素中的第一个内容不是注释,则可以省略html元素的开始标记。如果html元素的开始标记不是注释,则可省略html元素的结束标记。 html元素后面没有注释。&#34;)。
它们仅在XHTML中是必需的,因为XML没有可选标记的概念。
我从未见过任何浏览器或用户代理无法在HTML文档中正确处理它们。 (请注意,虽然标签是可选的,但元素不是,因此即使标签丢失,浏览器也会插入HTML,HEAD和BODY元素,因此尝试在DOM中找到它们的任何脚本仍然有效。) p>
唯一的技术缺点是,您无法在不存在的标记上放置属性,并且HTML元素的lang
属性很有用。
将它们排除可能会让其他需要维护代码的人感到困惑,因为他们不知道标签是可选的。
答案 1 :(得分:3)
HTML5中的<head>
和<body>
标记都是可选的。事实上,Google's HTML style guide建议不要使用它们:
<!-- Not recommended -->
<!DOCTYPE html>
<html>
<head>
<title>Spending money, spending bytes</title>
</head>
<body>
<p>Sic.</p>
</body>
</html>
<!-- Recommended -->
<!DOCTYPE html>
<title>Saving money, saving bytes</title>
<p>Qed.
通过不使用这些标签,一些缺点包括:
<html>
标记之后不能立即发表评论的限制。重申spec:
中标签的可选性质如果html元素中的第一个内容不是注释,则可以省略 html 元素的开始标记。
如果元素为空,或者如果body元素中的第一个元素不是空格字符或注释,则可以省略 body 元素的开始标记,除非是第一个body元素内部的东西是元,链接,脚本,样式或模板元素。
见:
答案 2 :(得分:0)
如果您不使用<html>
和<body>
,则HTML文档无效,某些库/插件也可能无效。