到现在为止,我们一直在研究HTML代码的孤立片段。但是,一个HTML文档(或网页,意思是一样的)需要特定的结构才能有效。
为什么我们要关心验证一个HTML文档的 有效性?
- 正确:一个有效的文档被浏览器正确地显示在浏览器中
- 调试:无效的HTML代码可能会触发难以针对的BUG
- 维护:一个有效的文档更容易在以后更新,甚至是由别人来更新,也更容易。
1. 文件版本 Doctype
首先要提供的信息是我们要编写的HTML文档的类型:文件版本 Doctype。
把文件版本看成是汽车历年的版本:1986年买的福特嘉年华是一辆福特嘉年华2。如果你今天买了一辆,那就是嘉年华7。
过去有多个版本的HTML共存(XHTML和HTML 4.01一直是相互竞争的标准)。现在,HTML 5已经成为了标准。
要告诉浏览器这个HTML文档是HTML 5,只需在文档开始时用下面这一行来启动你的文档。
<!DOCTYPE html>
就这样吧。设置好了就不用管了。
你可能会问,为什么这个HTML 5 doctype不提数字 “5”?W3C认为之前的文件版本定义太过混乱,于是趁机将其简化,删除了HTML版本的任何提及。
2. <html>
元素
除了文件版本行,你的HTML文档必须被包裹在一个<html>
元素中。
<!DOCTYPE html>
<html>
<!---你的HTML代码的其余部分在这里--->。
</html
<html>
严格来说是所有HTML元素的祖先。
3. <head>
元素
与属性为HTML元素携带附加信息的方式一样,<head>
元素也为整个网页携带附加信息。
例如,页面的标题(显示在标签上)位于<head>
中:
<head>
<title>我的精彩博客</title>
</head>
其他HTML元素可以出现在<head>
中,也只能出现在<head>
中。
<link>
<meta>
<style>
4. <body>
元素
虽然<head>
只包含了不打算在任何地方显示的元数据(除了<title>
之外),但<body>
元素是我们写所有内容的地方。<body>
中的所有内容都将在浏览器窗口中显示。
5. 一个完整有效的HTML文档
综合以上要求,我们可以写出一个简单有效的HTML文档。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>标记表</title>
<meta name="description" content="一个简单的HTML和CSS教程">。
</head>
<body>
<p>Hello World!</p>
</body>
</html>
如果你在浏览器中查看这个例子,你会发现。
- "MarkSheet "被写在浏览器选项卡上
- "Hello World!"是窗口中显示的唯一文字,因为它是
<body>
中唯一的内容。
W3C提供了一个标记验证服务来检查任何HTML文档是否有错误和警告。