HTML5中article元素与section元素有什么区别

  在HTML5中,为了使文档的结构更加清晰明确,追加了几个与页眉、页脚、内容区块等文档结构相关联的结构元素。内容区块是指将HTML页面按逻辑分割后的单位。例如对于书籍来说,章、节可以称为内容区块;对于博客网站来说,导航菜单、文章正文、文章的评论等每一个部分都可称为内容区块。

  在HTML5中新增的主体结构元素中有两个元素分别article元素与section元素,这两个元素是什么意思?通常用于哪些内容区块?何时用article元素?何时用section元素?两者之间的区别是什么?

  一、article元素

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

  现在,让我们以博客为例来看一段关于article元素的代码示例,代码如下:

<article>
      <header>
            <h1>article元素使用方法</h1>
            <p>发表日期:<time pubdate="pubdate">2010/10/10</time></p>
      </header>
      <p>article元素是什么?怎样使用article元素?……</p>
      <footer>
            <p><small>Copyright @ yiiyaa.net All Rights Reserverd</samll></p>
      </footer>
</article>

  这个示例是一篇讲述article元素使用方法,在header元素中嵌入了文章的标题部分,在标题下部的p元素中,嵌入了一大段该博客文章的正文,在结尾处的footer元素中,嵌入了文章的著作权,作为脚注。整个示例的内容相对比较独立、完整,因此,对这部分内容使用了article元素。

  article元素是可以嵌套使用的,内层的内容在原则上需要与外层的内容相关联。例如,一篇博客文章中,针对该文章的评论就可以使用嵌套article元素的方式;用来呈现评论的article元素被包含在表示整体内容的article元素里面。

  接着,让我们来看一个关于article元素嵌套的代码示例,代码如下:

<article>
      <header>
            <h1>article元素使用方法</h1>
            <p>发表日期:<time pubdate="pubdate">2010/10/10</time></p>
      </header>
      <p>article元素是什么?怎样使用article元素?……</p>
      <section>
            <h2>评论</h2>
            <article>
                  <header>
                        <h3>发表者:shenmiweiyi</h3>
                        <p><time pubdate datetime="2011-12-23T:21-26:00">1小时前</time></p>
                  </header>
                  <p>这篇文章很不错啊,顶一下!</p>
            </article>
            <article>
                  <header>
                        <h3>发表者:神秘唯一</h3>
                        <p><time pubdate datetime="2011-12-23T:21-26:00">1小时前</time></p>
                  </header>
                  <p>这篇文章很不错啊,对article解释的很详细</p>
            </article>
      </section>
</article>

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

  另外,article元素也可以用来表示插件,它的作用是使插件看起来好像内嵌在页面中一样。代码如下:

<article>
      <h1>一个插件</h1>
      <object>
            <param name="allowFullScreen" vlaue="true">
            <embed src="#" width="600" height="395"></embed>
      </object>
</article>

  二、section元素

  section元素用于对网站或应用程序中页面上的内容进行分块。一个section元素通常由内容及其标题组成。但section元素并非一个普通的容器元素;当一个内容需要被直接定义样式或通过脚本定义行为时,推荐使用div而非section元素。section元素中的内容可以单独存储到数据库中或输出到word文档中。

<section>
      <h1>section元素使用方法</h1>
      <p>什么时候用section元素?怎样合理使用section元素?</p>
</section>

  通常不推荐为那些没有标题的内容使用section元素,可以使用HTML5轮廓工具来检查页面中是否有标题 的section,如果使用该工具进行检查后,发现某个section的说明中有"untitiled section"(没有标题的section)文章,这个section就有可能使用不当。

  section元素的作用是对页面上的内容进行分块,或者说对文章进行分段,请不要与有着自己的完整的、独立的内容”的article元素混淆。

  下面,我们来看article元素与section元素结合使用的示例,希望能够帮助你更好地理解article元素与section元素的区别。

<article>
      <h1>article元素与section元素的使用方法</h1>
      <p>何时使用article元素?何时使用section元素…..</p>
      <section>
            <h2>article元素使用方法</h2>
            <p>article元素代表文档、页面或应用程序中独立的、完整的、可以独自被外部引用的内容。</p>
      </section>
      <section>
            <h2>section元素使用方法</h2>
            <p> section元素用于对网站或应用程序中页面上的内容进行分块。</p>
      </section>
</article>

  上述代码中的内容首先是一段独立的、完整的内容,因此使用article元素。该文章分为3段,每一段都有一个独立的标题,因此使用了两个section元素。请记住,对文章分段的工作也是使用section元素完成的。可能有人会问,为什么没有对第一段使用section元素,这里其实是可以使用section元素的,但是由于其结构比较清晰,分析器可以识别第一段内容在一个section元素里,所有也可以将第一个section元素省略,但是第一个section元素里还要包含于section元素或子article元素,那么就必须写明第一个section元素。

  在HTML5中,你可以将所有页面的从属部分,譬如导航条、菜单、版权说明等包含一个统一的页面中,以便统一使用CSS样式来进行装饰。最后,关于section元素的使用禁忌总结如下:

  1)不要将section元素用作设置样式的页面容器,那是div元素的工作。

  2)如果article元素、aside元素或nav元素更符合使用条件,不要使用section元素。

  3)不要为没有标题的内容区块使用section元素。

  三、两者的区别

  以上讲述了那么多,两者的区别到底是什么呢?事实上,在HTML5中,article元素可以看成是一种特殊类型的section元素,它比section元素更强调独立性。即section元素强调分段或分块,而article强调独立性。具体来说,如果一块内容相对来说比较独立的、完整的时候,应该使用article元素,但是如果你想将一块内容分成几段的时候,应该使用section元素。另外,在HTML5中,div元素变成了一种容器,当使用CSS样式的时候,可以对这个容器进行一个总体的CSS样式的套用。

本站原创内容,如需转载请注明来源:https://www.liutonghui.com/109.html

上一篇 2014-08-21
下一篇 2014-10-28

评论列表(0条)

  • 暂时没有评论!

发表评论

captcha

相关推荐

  • 再谈PHP错误与异常处理

      请一定要注意,没有特殊说明:本例 PHP Version &lt; 7   说起PHP异常处理,大家首先会想到try-catch,那好,我们先看一段程序吧:有一个test.php文件,有一段简单的PHP程序,内容如下,然后命令行执行:php test.php &lt;?php $num = 0; try { echo 1/$num; } catch (Exception $e){ ......

    2017-06-12
    14010
  • CSS clearfix清除浮动进化史

      我想大家在写CSS的时候应该都对清除浮动的用法深有体会,今天我们就还讨论下clearfix的进化史吧。   clearfix清除浮动   首先在很多很多年以前我们常用的清除浮动是这样的。 .clear{clear:both;line-height:0;}   现在可能还可以在很多老的站点上可以看到这样的代码,相当暴力有效的解决浮动的问题。但是这个用法有一个致命伤,就是每次清除浮动的时候都需要增加一个空标签来使用。   这种做法如果在......

    2014-11-18
    17080
  • CSS隐藏页面文字的几种方式总结

      方式一:text-indent:-9999px   不多说,ext-indent负值为最常用方法,然问题有三:   1.较大的负值有性能问题,例如新浪/腾讯微博提交按钮的-9999em,大概12~16万像素的宽度,相对于100个显示器宽度,在低配Android pad上,尤其含动画效果的时候,会直接卡爆;   2.FireFox浏览器下虚框。其实问题不大,overflow:hidden可修复;   3.不能应用在IE6/IE7伪in......

    2017-06-25
    16150
  • 高效jQuery的奥秘

      讨论jQuery和javascript性能的文章并不罕见。然而,本文我计划总结一些速度方面的技巧和我本人的一些建议,来提升你的jQuery和javascript代码。好的代码会带来速度的提升。快速渲染和响应意味着更好的用户体验。   首先,在脑子里牢牢记住jQuery就是javascript。这意味着我们应该采取相同的编码惯例,风格指南和最佳实践。   首先,如果你是一个javascript新手,我建议您阅读 《JavaScri......

    2015-12-09
    15080
  • CSS创建竖排文字的简单方法

      在制作网页的时候我们经常需要创建一些竖排的文字,或许这对你来说是一件很简单的事情,但是你是否想过用CSS可有N种创建竖排文字的方法?下面是由我翻译自Nettuts+的文章,希望这几种方法能够给你带来一些提示。   方法一:&lt;br /&gt;标签   一种可能的方法(但不推荐)是在每个字母后面添加&lt;br /&gt;标签来实现竖排文字: &lt;h1&gt; N &lt;br /&gt;E &lt;br /&gt;T ......

    2013-11-27
    13890
  • HTML5新手入门指南

      HTML5是HTML的最新版本,引入了一系列新的元素、属性和API,使得开发者可以创建更强大、更交互性的Web页面。以下是HTML5新手入门指南的一些建议:   1. 基础结构 &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta name="viewport" content="......

    2015-02-18
    18500
  • PHP实现APP微信支付的实例讲解

      一、PHP后台后台生成预支付交易单,返回正确的预支付交易回话标识后再在APP里面调起支付!   官方文档:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1   根据文档拼接微信需要的参数,这里需要几个方法,直接上代码!   1.传输给微信的参数要组装成xml格式发送,传入参数数组! public function ToXml($data=array()) ......

    2018-08-31
    18920
  • 王力宏出轨招嫖人设崩塌,4亿豪宅曝光,好一个家徒四壁

      王力宏和李靓蕾离婚的事最近闹得沸沸扬扬,二人在微博上互骂,都指责对方的错误。根据种种的证据表明,这件事不光是简简单单的离婚,王力宏出轨招嫖的丑闻也被扒了出来,也坐实了多年前很多人对他的人品的质疑,王力宏多年来伪装成的老好人形象算是彻底崩塌了。   王力宏到底有多渣?其实多年前就有人报料出来了,只不过都被他用公关手段摆平了,并且当时王力宏事业发展如日中天,很多人都不相信那些报料。事实上在李靓蕾还没有成年时,王力宏就与其发生关系了......

    2021-12-22
    13410