H5中section和article和div的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_22855325/article/details/72877285

在Html5中,加入了很多用于“布局”的标签,他们有<header>、<nav>、<section>、<article>、<aside>、<footer>、<hgroup>等等。

其中<section><article>最为相似,而且和div标签貌似也有很大相似之处。 但看似相似,并不是真的相似,这些标签是为了布局而生的,自然有它们更精确的语义定位,或者说他们更将强调Html的语义。
1.article:

article元素代表文档、页面或应用程序中独立的、完整的、可以独自被外部引用的内容。它可以是一篇博客或报刊中的文章、一篇论坛帖子、一段用户评论或独立的插件,或其他任何独立的内容。除了内容部分,一个article元素通常有它自己的标题(一般放在一个header元素里面),有时还有自己的脚注。

article是一个特殊的section标签,它比section具有更明确的语义, 它代表一个独立的、完整的相关内容块。 div、section、article,语义是从无到有,逐渐增强的。div无任何语义,仅仅用作样式化或者脚本化的标签,对于一段主题性的内容,则就适用section,而假如这段内容可以脱离上下文,作为完整的独立存在的一段内容,则就适用 article。 原则上来说,能使用article的时候,也是可以使用section的,但是实际上,假如使用article更合适,那么就不要使用section。

<article>
      <header>         
    <h1>标题</h1>
           <p>发表日期:<time pubdate="pubdate">2010/10/10</time></p>
  </header>
  <p>article的使用方法</p>
  <footer>
            <p><small>Copyright @ yiiyaa.net All Rights Reserverd</samll></p>
  </footer>
</article>
注:article元素是可以嵌套使用的,内层的内容在原则上需要与外层的内容相关联。例如,一篇博客文章中,针对该文章的评论就可以使用嵌套article元素的方式;用来呈现评论的article元素被包含在表示整体内容的article元素里面。

2.section:

section用作一段有专题性的内容,一般在它里面会带有标题。 section典型的应用场景应该是文章的章节、标签对话框中的标签页、或者论文中有编号的部分。section元素用于对网站或应用程序中页面上的内容进行分块,section元素的作用是对页面上的内容进行分块,或者说对文章进行分段一个section元素通常由内容及其标题组成,通常不推荐为那些没有标题的内容使用section元素。

article与section的嵌套方式一般如下:

<article>
  <header>
            <h1>article元素使用方法</h1>
    <p>发表日期:<time pubdate="pubdate">2010/10/10</time></p>
  </header>
  <p>此标签里显示的是article整个文章的主要内容,,下面的section元素里是对该文章的评论</p>
  <section>
            <h2>评论</h2>
    <article>
                  <header>
        <h3>发表者:maizi</h3>
        <p><time pubdate datetime="2016-6-14">1小时前</time></p>
      </header>  
      <p>这篇文章很不错啊,顶一下!</p>
           </article> 
    <article>
                  <header>            
        <h3>发表者:小妮</h3>
                        <p><time pubdate datetime="2016-6-14T:21-26:00">1小时前</time></p>
      </header>
    <p>这篇文章很不错啊,对article解释的很详细</p>  
    </article>
      </section>
</article>

示例内容分为几个部分,文章标题放在了header元素中,文章正文放在了header元素后面的p元素中,然后section元素把正文与评论进行了区分(是一个分块元素,用来把页面中的内容进行区分),在section元素中嵌入了评论的内容,评论中每一个人的评论相对来说又是比较独立的、完整的,因此对它们都使用一个article元素,在评论的article元素中,又可以分为标题与评论内容部分,分别放在header元素与p元素中。

但是关于section元素的使用禁忌总结如下:
(1)不要将section元素用作设置样式的页面容器,那是div元素的工作。
(2)如果article元素、aside元素或nav元素更符合使用条件,不要使用section元素。
(3)不要为没有标题的内容区块使用section元素。

3.div:

众所周知只是一个生命块的标签,并无具体语义,可用在任何场景,只是对比H5标签不好清晰看懂上下文。

总结:在H5中,article元素可以看成是一种特殊类型的section元素,它比section元素更强调独立性。即section元素强调分段或分块,而article强调独立性。具体来说,如果一块内容相对来说比较独立的、完整的时候,应该使用article元素,但是如果你想将一块内容分成几段的时候,应该使用section元素。另外,在HTML5中,div元素变成了一种容器,当使用CSS样式的时候,可以对这个容器进行一个总体的CSS样式的套用。

展开阅读全文

没有更多推荐了,返回首页