区别HTML5中的div、artice、section

div

没有任何语义,用作布局以及样式化。

 

section

与div无语义相对,section大概就算是带有语义的div了。section表示一段专题性的内容,一般会带有标题。

section 应用的典型场景有文章的章节、标签对话框中的标签页、或者论文中有编号的部分。

section 不仅仅是一个普通的容器标签。当一个标签只是为了样式化或者方便脚本使用时,应该使用 div 。一般来说,当元素内容明确地出现在文档大纲中时,section 就是适用的。

 

article

article 是一个特殊的 section 标签,它比 section 具有更明确的语义, 它代表一个独立的、完整的相关内容块。

一般来说, article 会有标题部分(通常包含在 header 内),有时也会 包含 footer 。

虽然 section 也是带有主题性的一块内容,但是无论从结构上还是内容上来说,article 本身就是独立的、完整的。 

 

怎么才算“完整的独立内容”?

看这段内容脱离了所在的语境,是否还是完整的、独立的。 

 

当 article 内嵌 article 时,原则上来说,内部的 article 的内容是和外层的 article 内容是相关的。

例如,一篇博客文章中,包含用户提交的评论的 article 就应该嵌套在包含博客文章 article 之中。 

 

总结:
div、 section、 article ,语义是从无到有,逐渐增强的。

div 无任何语义,仅仅用作样式化或者脚本化的钩子(hook),对于一段主题性的内容,则就适用 section,而假如这段内容可以脱离上下文,作为完整的独立存在的一段内容,则就适用 article。

 

section与article元素都是用于定义文件中的特定内容区段(块)。

section元素的标签内容通常是一篇文章或文章的一节,因此,section元素可视为一个区域分组元素。

article通常用来定义文件网页内容,网站或其他应用的一个独立外部内容区块这个内容通常是来自某个Blog的文章论坛的讨论内容,或是某个新闻网站发布的消息等。

 

section与article区别?

举个例子,一个报纸,报纸有很多版,第一版都是一个section但是第一版中又会有多个文章article.而每个文章中又包含多个section。可能有的时候 不需要这样,但是大概关系就是这样。

 

原则上来说,能使用 article 的时候,也是可以使用 section 的,但是实际上,假如使用 article 更合适,那么就不要使用 section 。

nav 和 aside 的使用也是如此,这两个标签也是特殊的 section,在使用 nav 和 aside 更合适的情况下,也不要使用 section 了。

对于 div 和 section、 article 以及其他标签的区分比较简单。

对于 section 和 article 的区分乍看比较难,其实重点就是看看这段内容脱离了整体是不是还能作为一个完整的、独立的内容而存在,这里面的重点又在完整身上。

因为其实说起来 section 包含的内容也能算作独立的一块,但是它只能算是组成整体的一部分,article 才是一个完整的整体。 

 

示例一:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>section</title>
</head>
<body>
<section> <h1>第一章</h1> <p>第一章内容</p> </section> <section> <h1>第二章</h1> <p>第二章内容</p> </section> </body> </html>

 

示例二:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>article</title>
</head>
<body>
<section>
<h1>标题一</h1>
<p>内容内容内容内容内容内容内容内容内容</p>
<article>网友A评论</article>
<article>网友B评论</article>
</section>
</body>
</html>

 

 

posted @ 2017-05-12 12:41  Lucky锦  阅读(850)  评论(0)    收藏  举报