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 最重要,依次递减。
12345678910 默认样式( 从 h1 到 h6 ):margin: 0.67em 0 -> 0.83em 0 -> 1em 0 -> 1.33em 0 -> 1.67em 0 -> 2.33em 0;font-size: 2em -> 1.5em -> 1.17em -> 1em -> 0.83em -> 0.67em;font-weight: bold;注意事项:1、不要为了减小标题的字体而使用低级别的标题,而是使用 CSS 的 font-size 样式2、避免跳过某级标题:始终要从 h1 开始( 尽量少用 ),接下来使用 h2 等等3、使用 section 元素时,为了方便起见,避免重复在一个页面上使用 h1;h1 应该用来表示页面的标题,其他的标题当从 h2 开始;使用 section 时,应当每个 section 都使用一个 h2。
HTML5 新增了 hgroup 标签,表示标题组,用于组合标题,只在区块需要有多个级别的标题时使用
1234 <hgroup><h1>水果</h1><h2>苹果</h2></hgroup>
[7] footer
章节内容或根节点元素的页脚
一个页脚通常包含该章节作者、版权数据或者与文档相关的链接等信息;一些独立内容的底部也可用到 footer 标签。
常用场景:文章作者( footer 元素内的作者信息,应包含在 address 元素中 )、相关阅读链接 、版权
[8] address
为最近的 article 或者 body 祖先元素提供联系信息
1 默认样式:font-style: italic;当表示一个和联系信息无关的任意的地址时,使用 p 元素而不是 address 元素。
这个元素不能包含除了联系信息之外的任何信息,比如出版日期( 这应该包含在 time 元素中 )。
通常,address 元素可以放在当前 section 的 footer 元素中,如果存在的话。
[9] main
呈现了文档 <body> 或应用的主体部分。不常用,最主要的原因是 IE 浏览器都不支持。
主体部分由与文档直接相关,或者扩展于文档的中心主题、应用的主要功能部分的内容组成。
这部分内容在文档中应当是独一无二的,不包含任何在一系列文档中重复的内容。
需注意的是,一个文档中不能出现一个以上 main 标签。
同时,main 标签不能是以下元素的继承,包括 article、aside、footer、header 或 nav。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 一个正常的最外层布局应该是这样:<header></header><main><section></section><section></section><section></section></main><footer></footer>但实际上,一般是这样的:<header></header><section></section><section></section><section></section><footer></footer>例如:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>苹果官网</title></head><body><nav><ul><li><a href="#">Apple</a></li><li><a href="#">Mac</a></li><li><a href="#">iPad</a></li><li><a href="#">iPhone</a></li><li><a href="#">Watch</a></li><li><a href="#">Music</a></li><li><a href="#">技术支持</a></li><li><a href="#">搜索</a></li><li><a href="#">购物袋</a></li></ul></nav><article><section>展示1</section><section>展示2</section><section>展示3</section><section>展示4</section><nav><ul><li>按钮1</li><li>按钮2</li><li>按钮3</li><li>按钮4</li></ul></nav></article><aside><ul><li><a href="#">Watch</a></li><li><a href="#">Pencil</a></li><li><a href="#">iPad</a></li><li><a href="#">MacBook</a></li></ul></aside><footer><nav><div>选购及了解</div><div>商店</div><div>应用</div><div>账户</div><div>关于</div></nav><section><div>其他杂项</div></section></footer></body></html>