
2.2 HTML5文档结构标签
在HTML5以前,页面的头部、主体内容、侧边栏和页脚等不同结构的内容都是使用div来划分的。虽然我们可以给每个div标签的id起一个相对合理的名字,以区分不同的结构。遗憾的是,由于id属性值可以任意,所以不同的人对同一个结构,是完全可能取不同的自认为是合理的值的。所以,不能通过标签的id来区分不同的结构。也就是说div标签本身并无法指出内容类型。使用div虽然对样式的设置以及一般的用户没有任何影响,但对于搜索引擎和视力障碍人士影响比较大。当搜索引擎抓取使用div划分结构的页面内容时,就只能猜测某部分的功能。另外就是使用div划分结构的页面交给视力障碍人士阅读时,由于文档结构和内容不清晰而不利于他们阅读。
针对上述问题,HTML5新增了几个专门用于表示文档结构的标签,如:<header><footer><section><article><nav>和<aside>等。使用这些标签可以使页面布局更加语义化,让页面代码更加易读,同时也能使搜索引擎更好地理解页面各部分之间的关系,从而更快、更准确搜索到我们需要的信息。
2.2.1 <header>标签
<header>标签定义了页面或内容区域的头部信息,例如:页面的站点名称、logo和导航栏、搜索框等放置在页面头部的内容以及内容区域的标题、作者、发布日期等内容都可以包含在header元素中。<header>标签是一个双标签,头部信息需要放置在标签对之间。
基本语法:

通常<header>标签至少包含(但不局限于)一个标题标签(<h1>~<h6>),还可以包括搜索表单、<nav>等标签。
使用<header>标签时注意以下事项:
1.<header>标签可以作为网页或者任何一块元素的头部信息;
2.在同一个HTML页面内,没有<header>标签个数的限制;
3.<header>标签里不能嵌套<header>标签或者<footer>标签。
【示例2-7】header标签的使用。


上述代码中,<header>标签既用于设置网站名称和导航条,又用于设置文章标题。可见,在一个页面中,<header>标签可以多次出现,既可以出现在页面的头部,也可以出现在页面的某块内容中。注:<article>标签用于表示页面中一块独立的内容,具体用法参见2.2.2节。
2.2.2 <article>标签
<article>标签用于表示页面中一块独立的、完整的相关内容块,可独立于页面其他内容使用,例如一篇完整的论坛帖子、一篇博客文章、一个用户评论、一则新闻等。一般来说,<article>标签包含一个<header>标签(包含标题部分),以及一个或多个<section>标签,有时也会包含<footer>标签和嵌套的<article>标签。内层的<article>标签对外层的<article>标签有隶属关系,例如,一篇博客的文章可以用<article>标签显示,然后评论可以以<article>标签的形式嵌入其中。
基本语法:

【示例2-8】<article>标签的使用。

上述代码的文章中包含了标题和多个段落。
2.2.3 <section>标签
<section>标签用于对页面上的内容进行分块,例如,将文章分为不同的章节,将页面内容分为不同的内容块。
基本语法:

注意
由<section>标签标识的区块通常由内容及其标题组成。另外,需要把<section>和<div>标签的作用区分开来。使用<section>主要是从语义上对内容进行分块,而不是作为内容的容器使用,而<div>主要是作为容器使用,主要用于定义容器样式或通过脚本定义容器行为。
【示例2-9】<section>标签的使用。

上述代码使用多个<section>标签将一篇文章分成了几块,其中每块又包含标题和内容。
2.2.4 <nav>标签
<nav>标签用于定义页面上的各种导航条,一个页面可以拥有多个<nav>标签,作为整个页面或不同部分内容的导航。
基本语法:

【示例2-10】使用<nav>标签创建导航条。


上述代码使用两个<nav>标签分别为不同的内容创建导航条。
注:<nav>标签只针对导航条使用,既可以用于创建整个网站的导航条,也可以创建页面内容的导航条。当超链接不作为导航条时,不应使用<nav>标签。
2.2.5 <aside>标签
<aside>标签用于定义当前页面或当前文章的附属信息部分,可以包含与当前页面或主要内容相关的引用、侧边栏、广告、导航条等内容,通常放在主要内容的左、右两侧,因而也称侧边栏内容。<aside>标签包含的内容与页面的主要内容是分开的,可以被删除,而不会影响页面所要传达的信息。
基本语法:

【示例2-11】使用<aside>标签创建侧边栏。

上述代码生成的热点新闻将作为侧边栏内容。
2.2.6 <footer>标签
<footer>标签主要用于为页面或某篇文章定义脚注内容,包含与页面、文章或是部分内容有关的信息,如文章的作者或者日期,页面的版权、使用条款和链接等内容。一个页面可以包含多个<footer>标签。
基本语法:

【示例2-12】使用<footer>标签创建网站页脚。

上述代码设置了网站所属单位的地址、联系方式及网站公安备案号等信息。
使用<footer>标签时,需注意以下事项。
1.<footer>标签可以用于创建网页或者任何一块元素的尾部部分。
2.在同一个HTML页面内<footer>标签的出现没有个数限制。
3.<footer>标签不能嵌套<header>标签或者<footer>标签。