在HTML5中,我应该跳过标记吗?

时间:2015-04-22 04:55:48

标签: html5

我知道在HTML5中编写<html>标记不是必要。这个问题讨论了这个问题,关于它is it necessary to write head body and html tags

但是应该我跳过它?是否建议跳过?我问这个的原因是我在互联网上看到很多HTML5教程/模板在他们的代码中执行此操作:

<!DOCTYPE html>
<!--[if IE 9 ]><html class="ie9"><![endif]-->
<head>
.....

对我来说看起来多余且完全没用,或者是它?

2 个答案:

答案 0 :(得分:3)

The question linked in the comments answers the question if you can,这就是可以在开头<html>标记中省略。然而...

不应该

正如这个问题的答案和上面提到的问题所显示的那样,关于何时可以或不能省略某些标签的规则很长并且是律师式的。

书面代码不仅适用于人们的机器。这并不是说在没有浏览器的情况下HTML应该是人类可读的,这是非常好的,但它应该是程序员 - 可读并且存在差异。

This is perfectly valid HTML

<!DOCTYPE HTML>
<title>Hello</title>
<p>Welcome to this example.</p>

然而,在没有查阅规范的情况下,我不能立即确定每个元素在计算DOM中的位置,因为好奇它等同于:

<!DOCTYPE HTML>
<html><head><title>Hello</title>
</head><body><p>Welcome to this example.</p></body></html>

然而,如果时间非常宝贵(程序员时间几乎总是比现在的计算时间更贵),那么非常清楚地知道文档正在做什么是至关重要的。


毫无疑问,有人会问,空间或传输速度何时溢价。在这些情况下,彻底分析以确定确切的瓶颈是很重要的,并且即时压缩,HTML的良好缓存,甚至使用库自动删除元素都将是删除要编写的源代码中的标签的绝佳选择并由人解释。

答案 1 :(得分:0)

仅当标记前面有注释时,才需要

<html>才能生成有效的HTML文档。

  

如果html元素中的第一个内容不是注释,则可以省略html元素的开始标记。

有关详细信息,请参阅W3C specification