HTML <head>标签:头部

 
HTML 中的 <head> 标签是所有头部标签的容器,这些头部标签用来定义有关 HTML 文档的元数据(描述数据的数据)以及所需资源的引用(例如 CSS 样式文件、JavaScript 脚本文件),对文档能够在浏览器中正确显示起到了非常重要的作用。根据我们的需求,可以在 HTML 头部定义大量的元数据,也可以定义很少或者根本就不定义。虽然头部标签是 HTML 文档的一部分,但其中的内容并不会显示在浏览器中。

在 <head> 标签中可以使用的头部标签有 <title>、<base>、<link>、<style>、<meta>、<script> 和 <noscript> 等,下面就来简单介绍一下它们。

1. <title> 标签

<title> 标签用来定义 HTML 文档的标题,只有包含 <title> 标签的文档才算是一个有效的 HTML 文档。另外,一个 HTML 文档中仅允许存在一个 <title> 标签,并且 <title> 标签必须放置在 <head> 标签中。

注意,在 <title> 标签内部仅允许包含纯文本内容,不能包含其他 HTML 标签。

<title> 标签的主要作用如下所示:
  • 在浏览器标题栏或者任务栏中显示标题;
  • 当将页面添加到收藏夹(书签)时提供标题;
  • 在搜索结果中显示页面标题。

下面的示例演示了如何在 HTML 文档中使用 <title> 标签:
<head>
    <meta charset="utf-8">
    <title>C语言中文网:一个在线学习编程的网站</title>
</head>

<title> 标签的内容必须与当前文档有关,并且不应该过长,中文页面请尽量控制在 30 个字符(包括空格)以内。

2. <base> 标签

<base> 标签用于为页面中所有相对链接指定一个基本链接,当您设置了基本链接后,当前页面中的所有相对链接都会使用这个基本链接作为前缀,如下例所示:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>&lt;base&gt;标签演示</title>
    <base href="http://c.biancheng.net/">
</head>
<body>
    <ul>
        <li><a href="index.html">首页</a></li>
        <li><a href="html/index.html">HTML教程</a></li>
    </ul>
</body>
</html>
上面的示例中第一个 <li> 标签中的超链接会被解析为“http://c.biancheng.net/index.html”,第二个 <li> 中的超链接会被解析为“http://c.biancheng.net/html/index.html”。

注意,HTML 文档中的 <base> 标签必须出现在任何引用外部资源的标签之前,而且一个 HTML 文档中仅允许定义一个 <base> 标签。

3. <link> 标签

<link> 标签经常用于引用外部 CSS 样式表,<link> 标签中包含两个主要的属性,分别是 rel 和 href。rel 属性用来指示引用文件的类型,href 属性用来设置外部文件的路径。示例代码如下:

<head>
    <title>此处书写标题</title>
    <link rel="stylesheet" href="common.css">
</head>

HTML <head> 标签中可以包含任意数量的 <link> 标签。

4、<style>

使用 <style> 标签可以在 HTML 文档中嵌入 CSS 样式,需要注意的是在 <style> 标签中定义的样式仅对当前 HTML 文档有效。示例代码如下:
<head>
    <title>此处书写标题</title>
    <style>
        body { background-color: YellowGreen; }
        h1 { color: red; }
        p { color: green; }
    </style>
</head>

注意:对于文档中的唯一样式可以使用 <style> 标签,但对于在多个文档中通用的样式,使用外部样式表更为合适。关于在 HTML 中嵌入 CSS 的更多内容,请转到《HTML嵌入CSS样式(四种方法)》。

5. <meta> 标签

<meta> 标签用于提供有关 HTML 文档的元数据,例如页面有效期、页面作者、关键字列表、页面描述等信息。<meta> 标签定义的数据并不会显示在页面上,但却会被浏览器解析。

1) 定义字符集

<meta charset="UTF-8">

charset 属性用来指定 HTML 文档的字符编码,上面的示例中,我们将文档的字符编码设置为了“UTF-8”。

2) 定义页面描述

<meta name="description" content="HTML 是 Hyper Text Markup Language 的简写,表示超文本标记语言,同时 HTML 也是我们学习前端开发的基础。随着 web 前端技术的飞速发展,HTML 和 CSS 也成为了编程者的必备技能。">

定义页面的描述信息有利于搜索引擎的搜索。

<title> 标签定义文档标题,name="description" 定义文档描述,描述的长度通常大于标题。

3) 定义关键字

<meta name="keywords" content="HTML, HTML教程, HTML入门">

关键字用于为搜索引擎提供与页面有关的信息。

4) 定义页面作者

<meta name="author" content="严长生">

通过某些内容管理系统可以自动提取作者信息。

5) 刷新页面

<meta http-equiv="refresh" content="30">

上例中的代码用于向浏览器发送一个指令,使浏览器在经过指定的时间间隔(30 秒)后自动刷新页面。在 content 属性中除了可以指定时间间隔外,还可以再指定一个链接,这时页面将在指定的时间后重定向到链接所指向的页面,如下例所示:

<meta http-equiv="refresh" content="10; url=https://c.biancheng.net/">

6. <script> 标签

<script> 标签用于定义 JavaScript 脚本,示例代码如下:

<head>
    <title>C语言中文网</title>
    <script>
        document.write("C语言中文网")
    </script>
</head>

有关 <script> 标签的详细介绍请查阅《HTML与JavaScript》一节。

7. <noscript> 标签

当用户的浏览器不支持 JavaScript 脚本或者禁用 JavaScript 脚本时,可以在 <noscript> 标签中定义一些内容来替代不能运行的 JavaScript 脚本或者给用户一些提示。除了 <script> 标签外,在 <noscript> 标签中可以包含任何 HTML 元素,如下例所示:
<head>
    <title>C语言中文网</title>
    <noscript>
        <p>您的浏览器不支持 JavaScript 或者您禁用了 JavaScript,请<a href="http://c.biancheng.net/">点击这里</a>了解如何启用 JavaScript。</p>
    </noscript>
</head>