<head> 标签
让我们来回顾一下 HTML 的文档结构:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>我的测试页面</title>
</head>
<body>
<p>这是我的页面</p>
</body>
</html>
HTML <head>
元素与 <body>
元素不同,它的内容不会在浏览器中显示,它的作用是保存页面的一些元数据。上述示例的 head 元素非常简短:
<head>
<meta charset="utf-8">
<title>我的测试页面</title>
</head>
网站标题
<title>
元素,它可以为文档添加标题。
<head>
<meta charset="utf-8">
<title>我的测试页面</title>
</head>
网站元数据
元数据就是描述数据的数据,而 HTML 有一个“官方的”方式来为一个文档添加元数据——<meta>
元素。
指定你的文档中字符的编码
例如:
<meta charset="utf-8">
这个元素简单的指定了文档的字符编码——在这个文档中被允许使用的字符集。utf-8
是一个通用的字符集,它包含了任何人类语言中的大部分的字符。意味着该 web 页面可以显示任意的语言;所以对于你的每一个页面都使用这个设置会是一个好主意!比如说,你的页面可以很好的处理英文和日文:
比如说,如果你将你的字符集设置为 ISO-8859-1
,那么页面将出现乱码:
备注: 一些浏览器(比如 Chrome)会自动修正错误的编码,所以取决于你所使用的浏览器,你或许不会看到这个问题。无论如何,你仍然应该为你的页面手动设置编码为 utf-8,来避免在其他浏览器中可能出现的潜在问题。
添加作者和描述
许多 <meta>
元素包含了 name 和 content 属性:
- name 指定了 meta 元素的类型;说明该元素包含了什么类型的信息。
- content 指定了实际的元数据内容。
这两个 meta 元素对于定义你的页面的作者和提供页面的简要描述是很有用的。让我们看一个例子:
<meta name="author" content="Chris Mills">
<meta name="description" content="The MDN Web Docs Learning Area aims to provide
complete beginners to the Web with all they need to know to get
started with developing web sites and applications.">
指定作者在某些情况下是很有用的:如果你需要联系页面的作者,问一些关于页面内容的问题。一些内容管理系统能够自动获取页面作者的信息,然后用于某些用途。
指定包含关于页面内容的关键字的页面内容的描述是很有用的,因为它可能或让你的页面在搜索引擎的相关的搜索出现得更多(这些行为在术语上被称为:搜索引擎优化,或 SEO。)
其他类型的元数据
当你在网站上查看源码时,你也会发现其它类型的元数据。你在网站上看到的许多功能都是专有创作,旨在向某些网站(如社交网站)提供可使用的特定信息。
在你的站点增加自定义图标
为了进一步丰富你的网站设计,你可以在元数据中添加对自定义图标(favicon,为“favorites icon”的缩写)的引用,这些将在特定的场合(浏览器的收藏,或书签列表)中显示。
这个不起眼的图标已经存在很多很多年了,16x16 像素是这种图标的第一种类型。你可以看见这些图标出现在浏览器每一个打开的标签页中以及书签页中。
页面添加图标的方式有:
将其保存在与网站的索引页面相同的目录中,以 .ico 格式保存(大多数浏览器将支持更通用的格式,如 .gif 或 .png,但使用 ICO 格式将确保它能在如 Internet Explorer 6 那样古老的浏览器显示)
将以下行添加到 HTML 的 <head>
中以引用它:
<link rel="icon" href="favicon.ico" type="image/x-icon">
使用外链 css 和 js
如今,几乎你使用的所有网站都会使用 CSS 来让网页更加炫酷,并使用 JavaScript 来让网页有交互功能,比如视频播放器、地图、游戏以及更多功能。这些应用在网页中很常见,它们分别使用 <link>
元素以及 <script>
元素。
<link>
元素经常位于文档的头部。这个 link 元素有 2 个属性,rel="stylesheet" 表明这是文档的样式表,而 href 包含了样式表文件的路径:
<link rel="stylesheet" href="my-css-file.css">
<script>
元素没必要非要放在文档的<head>
中,并包含 src 属性来指向需要加载的 JavaScript 文件路径,同时最好加上 defer 以告诉浏览器在解析完成 HTML 后再加载 JavaScript。这样可以确保在加载脚本之前浏览器已经解析了所有的 HTML 内容(如果脚本尝试访问某个不存在的元素,浏览器会报错)。实际上还有很多方法可用于处理加载 JavaScript 的问题,但这是现代浏览器中最可靠的一种方法。
<script src="my-js-file.js" defer></script>
为文档设置主语言
最后,值得一提的是可以(而且有必要)为站点设定语言,这个可以通过添加 lang
属性到 HTML 开始的标签中来实现,如下所示:
<html lang="zh-CN">