WEB前端开发人员交流社区

搜索
查看: 772|回复: 0

[HTML] HTML5新元素section和article的区别详解

[复制链接]

94

主题

150

帖子

148

积分

管理员

会在前端的道路上一直走下去!

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
148

社区QQ达人

发表于 2016-1-15 00:59:57 | 显示全部楼层 |阅读模式

HTML5带出了一系列新元素,并且将在未来被广泛应用。然而,有一些元素在使用时易被混淆,包括以下两个新元素:<article>和<section>。

在问答网站经常可以看到别人问:在什么情况下我们应该使用这些元素?我们应该如何正确的使用这些元素?<article>和<section>有什么区别?


鉴于以上的这些问题,为大家讲解一下<article>和<section>的区别:


一、Article元素


从名字上,它已经很好的诠释了自己,但是我们仍要看看官方文档上是如何描述它的:


“在文档,页面,应用或是站点上的一个独立部分,并且大体上,是可独立分配,或是重复使用的,例如在发布时。这个可以是论坛帖子,杂志或是新闻,博客条目,用户提交的评论,互动的小工具或小工具,或任何其他独立项目的内容。”


从上描述中,我们可以总结出<article>元素专用于结构化文章,特别是我们要发布的,例如博客,页面内容或是论坛帖子。


以下例子给出了如何使用<article>构建一个博客文章。


[HTML] 纯文本查看 复制代码
<article class="post"> 
    <header> 
    <h1>This is Blog Post Title</h1> 
    <div class="post-meta"> 
        <ul> 
            <li class="author">Author Name</li> 
            <li class="categories">Save in Categories</li> 
        </ul> 
    </div> 
    </header> 
 
    <div class="post-content"> 
        Sweet roll halvah biscuit toffee liquorice tart pudding sesame snaps.  
        Biscuit powder jelly-o fruitcake faworki chocolate bar. Pudding oat  
        cake tootsie roll sesame snaps lollipop gingerbread bonbon. Gummies  
        halvah gummies danish biscuit applicake gingerbread jelly-o pastry. 
    </div> 
 
</article>


此外,<article>元素还可与section元素结合,需要的时候,可以使用<section>元素将文章分为几个段落,如下例所示。


[HTML] 纯文本查看 复制代码
<article class="post"> 
    <header> 
    <h1>This is Blog Post Title</h1> 
    <div class="post-meta"> 
        <ul> 
            <li class="author">Author Name</li> 
            <li class="categories">Save in Categories</li> 
        </ul> 
    </div> 
    </header> 
 
    <div class="post-content"> 
        <section> 
        <h2>This is the Sub-Heading</h2> 
        Sweet roll halvah biscuit toffee liquorice tart pudding sesame snaps.  
        Biscuit powder jelly-o fruitcake faworki chocolate bar. Pudding oat cake  
        tootsie roll sesame snaps lollipop gingerbread bonbon. Gummies halvah  
        gummies danish biscuit applicake gingerbread jelly-o pastry. 
        </section> 
 
        <section> 
        <h3>This is another Sub-Heading</h3> 
        Topping cheesecake sweet pie carrot cake sweet roll. Gummi bears lemon drops 
        toffee sesame snaps tart topping chupa chups apple pie gummies. Wafer chocolate 
        cake. Sugar plum chocolate bar topping ice cream carrot cake danish bonbon.  
        Cheesecake gummi bears dragée jujubes dragée dragée brownie jelly biscuit. Powder croissant jelly beans pastry. 
        </section> 
    </div> 
 
</article>


二、Section元素


这是一个最容易产生歧义的元素。它与<div>元素有什么区别?我们一直在用<div>来划分段落,所以除了<div>,我们什么时候使用这个元素。我们引用官方文档来阐述它。根据WHATWG文档,对<section>元素做了以下描述:


“<section>元素表示了一篇文档或应用中,通用段落 – WHATWG”


从描述中我们可以看出<section>元素的作用就是分段,或多或少类似于<div>。但是它仍有一个特例。在文档中,加入了一段特别声明:


“当一个元素仅用于风格样式或是为了脚本的方便,我们鼓励作者使用<div>。<section>元素适用于,当元素的内容需要明确的列出时。- WHATWG”


基于这一点,我们可以总结以下两点:


尽管section元素在技术上是可以设计样式的,但是当有复杂的样式或脚本时,我们仍建议使用div元素。


类似于<li>元素,section元素是用来列举内容的。


因此在现实例子中,使用<section>元素的原因是结构化的列出博客的内容,代码如下:

[HTML] 纯文本查看 复制代码
<div class="blog"> 
    <section class="post"> 
        <h2 class="post-title">Blog Post Title</h2> 
        <p class="post-excerpt">Ice cream tart powder jelly-o.  
        Gummies chocolate cake ice cream cookie halvah tiramisu jelly-o.</p> 
    </section> 
    <section class="post"> 
        <h2 class="post-title">Blog Post Title</h2> 
        <p class="post-excerpt">Ice cream tart powder jelly-o.  
        Gummies chocolate cake ice cream cookie halvah tiramisu jelly-o.</p> 
    </section> 
    <section class="post"> 
        <h2 class="post-title">Blog Post Title</h2> 
        <p class="post-excerpt">Ice cream tart powder jelly-o.  
        Gummies chocolate cake ice cream cookie halvah tiramisu jelly-o.</p> 
    </section> 
</div>


这只是个例子,<section>元素也可以用作其他用途。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
WEB前端开发人员共同的技术交流平台,提倡开源、安全、自由、共享的网络精神! —— —— www.fedte.cn
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



Archiver|手机版|小黑屋|前端开发技术交流

Copyright © 2009-2015 前端开发技术交流 http://www.fedte.cn 版权所有 All Rights Reserved.

免责声明: 本社区不承担任何由社区会员所提供的信息和工具所引起的争议和法律责任。

GMT+8, 2020-9-23 04:57

快速回复 返回顶部 返回列表