2015-11-21 59 views
0

我刚开始从codeacademy学习HTML, 第一课指出:为什么html需要<head>和<body>?

每个HTML有一个<head><body>

我不经常处理标记语言,和我道歉如果我问一些明显的问题:为什么我们需要特别设置这些标签?

  1. 我们确切地知道是什么,可以进入<head>标签,并承担<body>来后<head>他们可以在任何顺序?,即<head><body>后),但尽管秩序,只要<head><\head>仍然是一个块,解析器可以很容易地告诉哪里<head>开始以及何时结束?下面是一个片段,我从w3school

    标签元数据:<title>, <style>, <meta>, <link>, <script>, and <base>

  2. 这也是从w3school

    在HTML5标准中,<html>吊牌,<body>标签,并且<head>标签可以省略

    这是暗示他们不需要在第一个地方?

回答

1

它们并不总是需要的,因为通常浏览器对如何呈现页面进行假设。但是,如果您没有添加足够的元信息和适当的标签,浏览器可能会与其他浏览器呈现不同的内容。

基本上,结果变得相当错误,而不是你真正需要从浏览器到浏览器。

+0

如果HTML是一个标准,为什么没有一个标准的解析器为所有的浏览器? – watashiSHUN

+0

下面是一个很好的答案:https://www.quora.com/Why-dont-web-browsers-render-the-same-content-identically – CristianD

1

请注意,w3schools.com不是来自W3C。如果你想知道关于HTML标准的东西,你应该检查官方规格。

对于W3C的HTML5,它是http://www.w3.org/TR/2014/REC-html5-20141028/

有它说为head element

如果元素是空的,或者如果第一件事就是内部的head元素的开始标记可以被省略:在text/html的

标签遗漏head元素是一个元素。

A head如果head元素之后没有紧跟空格字符或注释,则可以省略元素的结束标记。

(该head元素的定义也回答了你的另一个问题:它说,大胆的重点矿山“作为的第一个元素html元素。”)

而对于body element它说:

标签遗漏的text/html:

一个0123如果该元素为空,或者如果body元素中的第一件事情是不是一个空格字符或注释元素的开始标记可以省略,但如果body元素中的第一件事情是metalinkscriptstyle,或template元素。

A body如果body元素后面没有注释,元素的结束标记可以省略。

所有可选标签在8.1.2.4 Optional tags部分列出。

相关问题