head和DTD尽管不会显示在页面上,但是却是网页的重要元素。
在上一节中我们我们在检验我们的网页时得到了一段出错信息,但是我们在整个网页的制作过程中都是按照XHTML标准写的啊。其实问题出在了网页的“头部”,下面我们就来解决这个问题。
在之前的教程中除了<title>标签之外我们修改的都是<body>之间的内容,也就是显示在页面里的内容。那么 XHTML中的<head>部分是做什么的呢?其实在<head>部分我么可以加入许多浏览器可以“看得见”的信息。下面我们就介绍一些head部分常用的标签。
注意:本节的标签与属性大多数难于记忆,事实上在我们在使用网页制作软件创建网页的时候它们会自动生成。本节的目的是能够了解这些标签的含义,以在必要的时候可以做一些手工的修改。现在就打开我们的“index.html”,在<head></head>中间插入如下代码:
1.<meta http-equiv="Content-Type" content="text/html;charset=gb2312" /> |
这段代码告诉浏览器我们的网页使用的是gb2312中文字符编码,没有该段<meta>信息正是上一次检验时出现问题的原因之一。
2.<meta name="keywords" content="小学生,欺负同学,寒暑假作业,家长" /> |
这段代码是为搜索引擎写的,content的内容就是index.html的关键词。
请注意,<meta>标签也是一个空标签,别忘记加上/。<meta>标签的作用还远不只这些,不过在缺少实际应用的情况下,很难了解<meta>标签的实际用处。如果想了解更多<meta>标签的知识,可以到百度搜索相关知识。
正如之前所说的,<head>部分的内容并不是为浏览者写的,而是为浏览器和搜索引擎写的。因此<head>部分不应该含有任何在页面中可视的的内容。
如果现在再次检验我们的网页,仍然会得到出错信息,提示找不到DTD文件,那么什么是DTD文件呢?简单的说它就是在任何人(多数情况下是类似浏览器的软件)想要读取我们的文件之前告诉他我们文件是遵照哪一套规则来写的。以检验过程为例子,如果我们使用HTML4.01的DTD呢,效验器就会认为我们是使用的HTML4.01的规则编写的网页,然后按照相应的规则来一行一行的检验我们的代码,最终返回检验结果。
我们制作的网页是使用XHTML的规则,当然要使用XHTML的DTD。不过正如我们前面提到的,XHTML的DTD也分为相对松散的过渡期DTD 和要求相当严格的严格DTD。本教程中我们将要在网页中声明严格的DTD,如果您想了解更多关于DTD的内容需要学习XML,本教程中不做过多讨论。
下面我们就为我们的网页声明DTD。打开之前保存的"index.html",在第一行(<html>标签之前)输入如下代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
并且在<html>标签里添加如下属性:xmlns="http://www.w3.org/1999/xhtml"。这个叫做命名空间属性,属于XML范畴,我们这里仍然不做过多的讨论。
这段代码的作用就是声明我们的网页是使用的xhtml1-strict.dtd。现在再将这个页面提交给W3的效验器,这次将返回一个“This Page Is Valid XHTML1.0 Strict!”的信息。这表示我们的代码中没有任何错误,完全符合XHTML1的strict(严格)标准。当然了,实际工作中情况可能不总是如此,在实际的网页设计过程中,总会有各种原因造成我们写出不规范的代码。这时效验器就会给出错误报告,我们只需要按照提示修改代码即可。