2.6 HTML 文档结构
之前我们讨论的都是HTML文档中的片段,除了这些局部语法外,一个合法的HTML文档还有整体性的结构要求。
文档类型(Doctype)
首先需要定义文档的类型:Doctype。
我们可以把Doctype看成HTML语言的版本,就好比Word97和Word2001一样。不同版本之间的语法约定不尽相同,但通常会保持向下兼容,好比Word2001能打开Word97的文档一样。
以前XHTML 1.0 和 HTML 4.01 曾经是彼此竞争的HTML标准,其中XHTML的语法更为严格,后者更为灵活。而当今HTML5 是统一的、最新的技术标准。
XHTML1.0的文档类型写法如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
HTML5的文档类型写法如下:
<!DOCTYPE html>
可以看到HTML5的写法极致简单,甚至没有包含版本号5。
<html> html元素
除了文档类型定义行外,HTML文档中的其余所有部分都需要被包含在一个名为 <html>
的元素中:
<!DOCTYPE html>
<html>
<!-- HTML代码都在这里 -->
</html>
很显然 <html>
是根元素,是所有其他元素的祖先。
<head> head元素
<head>
元素用来定义网页中的公共部分,比如页面标题、元数据(网页描述、关键词等)以及需要提前加载的样式或脚本:
<head>
<title>免费 HTML5 在线教程</title>
<meta name="description" content="从入门到精通 大量实例讲解 在线调试和题目练习 全面覆盖 H5,C3,ES6 等高级课题"/>
<link rel="stylesheet" href="//www.xnip.cn/themes/wthemes/css/common.css"/>
</head>
<head>
中可以使用的元素包括:
<title>
<link>
<meta>
<style>
<script>
<head>
中出现的<title>
会显示为页面标题(浏览器标签栏上的文本),<link rel="shortcut icon" href="#" />
会被显示为标签栏上的网站标识,而所有其他元素不会被显示,但这些元素各有用途,后续章节会一一提到。
<body> body元素
<head>
包含的是页面的元数据,<body>
元素则用来包含页面的主体内容。一般所有 <body>
内部的元素都将被浏览器所渲染。
一个完整有效的HTML文档
把上述元素组合起来,可以构建一个完整的HTML文档:
W3C 提供了一个检查文档有效性的在线工具: 标记验证服务。
读者可能还记得前述的 2.2 HTML语法 一节所创建的第一个HTML文件,里面只包含了一个<p>
元素,为什么也能正确的被浏览器所显示呢? 原因很简单,浏览器在解释代码时,默认帮你补上了本节所述的文档结构元素。你可以通过Chrome开发工具的查看元素来确认这一点。 和以往相比,现代浏览器在处理不规范的文档结构时变得智能和宽容得多。
本章我们学习了HTML语法语义、元素类型、层级关系以及文档结构,在接下来的第3章中,我们将详细讲解用来编写HTML文档具体内容的各个元素,如图片、文本、表格和链接等。