忽略和

时间:2016-04-20 09:39:26

标签: html

从不使用

有任何缺点
<html> and <body>
在您的网页上用HTML和PHP编写的

? 我的意思是,一切都可以完美地使用它或没有它,所以为什么要使用它?

3 个答案:

答案 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文档无效,某些库/插件也可能无效。