HTML 文档章节

文档章节,又称为内容分区元素,是用来定义区块内容范围的元素。


之前,网页布局一般使用 div,但语义化并不好;

HTML5 引入了内容分区元素,从逻辑上对文档内容进行划分,使页面具有逻辑性结构、易维护且对数据挖掘更友好。


[1] article

文档、页面、应用或网站中可独立分配或可复用的结构

  • 通常有标题( header )、脚注( footer );可以嵌套。
  • 嵌套的 article 元素内、外层内容必须是相关联的。

如,代表博客评论的 article 元素就可以嵌套在博客文章这个 article 元素中。

使用场景:文章( 博客或报刊 )、论坛帖子、用户评论、独立的插件、任何独立的内容。


[2] section

对网站或应用程序中页面上的内容进行分块,表示有主题的内容;一般都会有标题

  • div,无任何语义,它应该在没有任何其它语义元素可用时才使用

本身没有任何语义,HTML5 之前,常用来做功能分区;此外,可以理解为是一个通用型的流内容容器。

可应用场景:内容容器、样式;简单来说,div + CSS 常用来做网页布局

  • section,主题性的内容

使用场景:文章的章节、Tab 的内容

  • article,完整的独立的内容

如果元素内容可以分为几个部分的话,应该使用 article,而不是 section;

另,不要把 section 元素作为一个普通的容器来使用,这本应该是 div 的用法。

一般来说,一个 section 应该出现在文档大纲中。


[3] nav

页面导航,一个含有多个超链接的区域,可以链接到其他页面或页面内部其他部分

主要场景:传统导航、侧边栏导航、页内导航。所以,页面中可能有多个导航。

主要的、基本的链接,放入 nav 元素中。

页脚的关于、帮助之类的链接,应该放入 footer 而不是 nav 中。

也就是说,并不是所有链接都必须使用 nav 元素,它只用来将一些热门的链接放入导航栏,如,footer 元素就常用来在页面底部包含一个不常用到,没必要加入 nav 的链接列表。


[4] aside

表示一个和其余页面内容几乎无关的部分,可以被单独拆分出来而不会使整体受影响

主要场景:

  • 包含在 article 元素中作为主要内容的附属信息,如:参考资料、名称解释、相关引用、个人资料
  • article 元素之外,页面或站点全局的附属信息,如:侧边栏、广告

[5] header

概括性内容,表示页面或区块头部

用于组合介绍内容和区块的辅助导航,所以,它可能包含标题,也可以包含其他元素,如,logo、搜索表单等


[6] h1 ~ h6

简要描述该节的主题,支持多层次的内容结构

默认样式:所有标题字体加粗,h1 字号最大,h6 字号最小。

通常,搜索引擎使用标题为网页的结构和内容编制索引,用户也会通过标题来快速浏览网页,所以,用标题来呈现网页结构是非常重要的,也就是说:标题之间的主要区别在于重要性的差别,h1 最重要,依次递减。


HTML5 新增了 hgroup 标签,表示标题组,用于组合标题,只在区块需要有多个级别的标题时使用


[7] footer

章节内容或根节点元素的页脚

一个页脚通常包含该章节作者、版权数据或者与文档相关的链接等信息;一些独立内容的底部也可用到 footer 标签。

常用场景:文章作者( footer 元素内的作者信息,应包含在 address 元素中 )、相关阅读链接 、版权


[8] address

为最近的 article 或者 body 祖先元素提供联系信息

当表示一个和联系信息无关的任意的地址时,使用 p 元素而不是 address 元素。

这个元素不能包含除了联系信息之外的任何信息,比如出版日期( 这应该包含在 time 元素中 )。

通常,address 元素可以放在当前 section 的 footer 元素中,如果存在的话。


[9] main

呈现了文档 <body> 或应用的主体部分。不常用,最主要的原因是 IE 浏览器都不支持。

主体部分由与文档直接相关,或者扩展于文档的中心主题、应用的主要功能部分的内容组成。

这部分内容在文档中应当是独一无二的,不包含任何在一系列文档中重复的内容。

需注意的是,一个文档中不能出现一个以上 main 标签。

同时,main 标签不能是以下元素的继承,包括 article、aside、footer、header 或 nav。