HTML5中新增主体结构元素与非主体结构元素解析

1,首先,按照本人理解,对主体结构元素与非主题结构元素进行定义:

主体结构元素:主要是与内容区块等文档结构相关联的结构元素,具有一定逻辑(暂且称之为“按逻辑切割的结构组件”),语义明确,具有一定的加强效果。主要包括section、article、nav、aside、time。

section:用来对于网站或应用程序中页面上的内容进行分块。

article :代表文档,页面或应用程序中独立的、完整的、可以独自被外部引用的内容,相对section来说更具语义。

nav: 可以作为页面导航连接组,其中的导航元素链接到其他页面或当前页面的其他部分。

aside:表示当前或文章的附属信息部分,它可以包含与当前页面或主要内容相关的引用、侧边栏、广告、导航条。

time:用来无歧义、明确地对机器的日期和时间进行编码,并且以让人易读的方式来展现它。


非主体结构元素:主要包括 header、hgroup、footer、address,主要是用来结构组织,具有一定的语义,结构清晰明确。

header :是一种具有引导和导航作用的结构元素,通常用来放置整个页面或页面内的一个内容区块的标题,但是也可以包含其他内容,例如数据表格、搜索表单或相关的 logo 图片。

footer 元素和 hgroup 元素:footer 元素可以作为其上层父级内容区块或是一个根区块的脚注。footer 通常包括其相关区块的脚注信息,如作者、相关阅读链接及版权信息等。

hgroup只对h1-h6标题的一个封装。

address 元素:用来在文档中呈现联系信息,包括文档作者或文档维护者的名字、他们的网站链接、电子邮箱、真实地址、电话号码等。address 应该不只用来呈现电子邮箱或真实地址,还用来展示跟文档相关的联系人的所有联系信息。


2,重点分析下section与article的区别于应用方向

      一、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样式的套用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值