1、说应用之前先看一下这几个标签的语义div 这个标签是我们见得最多、用得最多的一个标签。本身没有任何语义,用作布局以及样式化或脚本的钩子(hook)。section与 div 的无语义相对,简单地说 section 就是带有语义的 div 了,但是千万不要觉得真得这么简单。section 表示一段专题性的内容,一般会带有标题。看到这里,我们也许会想到,那么一篇博客文章,或者一条单独的评论岂不是正好可以用 section 吗?接着看:当元素内容聚合起来更加言之有物时,应该使用 article 来替换 section 。那么,section 应该什么时候用呢?再接着看:section 应用的典型场景
2、有文章的章节、标签对话框中的标签页、或者论文中有编号的部分。一个网站的主页可以分成简介、新闻和联系信息等几部分。其实我对这里传达信息很感兴趣,因为感觉 section 和下面要介绍的 artilce 更加适用于模块化应用,这个话题以后会出篇专门的文章来讨论,这里暂时略过。要注意,W3C 还警告说:section 不仅仅是一个普通的容器标签。当一个标签只是为了样式化或者方便脚本使用时,应该使用 div 。一般来说,当元素内容明确地出现在文档大纲中时, section 就是适用的。articlearticle 是一个特殊的 section 标签,它比 section 具有更明确的语义, 它代表一个
3、独立的、完整的相关内容块。一般来说, article 会有标题部分(通常包含在 header 内),有时也会 包含 footer 。虽然 section 也是带有主题性的一块内容,但是无论从结构上还是内容上来说,article 本身就是独立的、完整的。HTML Spec 中接着又列举了一些 article 适用的场景。当 article 内嵌 article 时,原则上来说,内部的 article 的内容是和外层的 article 内容是相关的。例如,一篇博客文章中,包含用户提交的评论的 article 就应该嵌套在包含博客文章 article 之中。问题是怎么才算“完整的独立内容 ”?有个最
4、简单的判断方法是看这段内容在 RSS feed 中是不是完整的。看这段内容脱离了所在的语境,是否还是完整的、独立的。看完了语义,下面来说一下应用,其实最让人纠结的地方在于,首页、列表页面、专题页面的应用。对于内容页,毫无疑问最优先选择的是 article 标签。下面就先简单说一下内容页,然后在说列表、首页、专题等页面应该如何使用所需属性跟标签我用了同一颜色应该可以很清楚的看出,广告因为是无关内容,所以用了div,右侧的相关信息和 article 内的相关文章都用了 aside 来表示相关内容。至于 section右侧的相关文章和作者文章,因为与本文章的内容关联性不强也可以用 section.下
5、面是首页专题页等类型页面的用法这里左侧为什么我没有用 section 呢,是因为这每一条都是有标题和内容 ,完全可以作为一个article 对待,有一个基本原则就是在可以使用 article 的时候就不要使用 section 了.右侧热门文章是一个功能块,可以独立存在所以用了 section. div 的作用是用来给页面布局.左侧如果只是标题的列表而没有内容的话,就可以使用 section 了.当然,这并不是说 section 不能用于有标题和内容的区域 ,在特定情况下还是要用 section 的,比如一篇文章内有一部分内容可以独立出来,这时候就需要用 section.而不是用 article 嵌套article,因为我们不能破坏整体,我们可以理解为这篇文章有很多个 section 组成.section 和 article 是可以相互嵌套的 ,比如, 如果上面这幅图, 有一个大的标题,叫做最新文章,那么就可以用 section 框起来了.section 和 div 的区别在于, 一个是有语义有目的的,而 div 是没有任何内容目的或主题意义的,仅用于布局.