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

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

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

一、Article元素

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

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

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

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

<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>元素将文章分为几个段落,如下例所示。

<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>元素的原因是结构化的列出博客的内容,代码如下:

<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>元素也可以用作其他用途。

总结

如万维网的创始人和W3C的董事所预测的那般,所有HTML5创造出来的新元素都是为了是网络结构更加语义化。如何正确的应用这些元素在网络开发者和设计者之间,仍存有争论。最后,想学习HTML5的同学不妨去看看本站的HTML5+CSS3视频教程!

转载于:https://blog.51cto.com/elsyy13/1725609

HTML5新元素section和article的区别详解相关推荐

  1. HTML5中section和article的区别

    HTML5中 和 的区别 查看全文 http://www.taodudu.cc/news/show-5833655.html 相关文章: java基于jxl获取excel合并单元格 easyexcel ...

  2. HashTable和HashMap的区别详解

    HashTable和HashMap的区别详解 一.HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同 ...

  3. 关于numpy中eye和identity的区别详解

    https://www.jb51.net/article/175386.htm np.identity(n, dtype=None) np.eye(N, M=None, k=0, dtype=< ...

  4. 【Python】中小括号()、中括号[]、花括号{}的区别详解

    Python3中小括号().中括号[].花括号{}的区别详解_python_ https://www.jb51.net/article/199741.htm 在Python语言中最常见的括号有三种,分 ...

  5. mysql int(3)与int(11)的区别详解

    这篇文章主要介绍了mysql int(3)与int(11)的区别详解的相关资料,需要的朋友可以参考下 mysql int(3)与int(11)的区别 总结,int(M) zerofill,加上zero ...

  6. linux中cat、more、less命令区别详解

    linux中cat.more.less命令区别详解 转自:https://blog.csdn.net/xyw_blog/article/details/16861681 众所周知linux中命令cat ...

  7. jQuery height()、innerHeight()、outerHeight()函数的区别详解

    参考来源:http://www.jb51.net/article/84897.htm 代码示例(可复制到编辑器直接打开): 1 <!DOCTYPE html> 2 <html lan ...

  8. java mod %区别_Java中 % 与Math.floorMod() 区别详解

    %为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...

  9. php为什么需要配置路由器,laravel 配置路由 api和web定义的路由的区别详解

    1.路由经过中间件方面不同 打开kerenl.php就可以看到区别 protected $middlewareGroups = [ 'web' => [ \App\Http\Middleware ...

最新文章

  1. bs4爬取的时候有两个标签相同_4.4 爬虫中的bs4数据爬取步骤
  2. bugzilla dbd-mysql_Linux下安装Bugzilla——完整版
  3. [转] UML类图的几种关系总结
  4. CLR Via C# 3rd 阅读摘要 -- Chapter 28 – Primitive Thread Synchronization Constructs
  5. 试图用Session Administration删除某用户的session时报错
  6. Matlab:*.txt转换为*.mat
  7. postgresql interval 字段拼接
  8. python最强脚本工具_8种常用的Python工具
  9. 百度贴吧 2017 前贴子无法访问;网易腾讯游戏获批;苹果反垄断案败诉 | 极客头条...
  10. 【字符串】面试题之键值对(”key = valude”)字符串
  11. SpringMVC+Spring+Mybatis简单总结
  12. j3455跑mysql_看烦了千篇一律的J3455?让黑群晖显示真实的CPU信息
  13. 实现栈的基本操作(c语言)
  14. 数据结构之八大排序算法(C语言实现)
  15. R语言根据日历周期处理时间序列数据(周、月、年等):使用xts包的apply.quarterly函数和mean函数计算时间序列的季度平均值(quarterly)
  16. C#VS工程报错:CS0234 命名空间“Microsoft.VisualStudio”中不存在类型或命名空间名“VCProjectEngine(是否缺少程序集引用)
  17. 按“Win+E”键出现【找不到应用程序】或【explore.exe找不到】的解决方法
  18. javascript实现下拉条联动_js实现select二级联动下拉菜单
  19. java农夫过河_农夫过河问题(java版)
  20. 应用上云2小时烧掉近50万,创始人:差点破产

热门文章

  1. 学计算机为什么会突发,为什么电脑会突然自动重启?
  2. python web游戏实例_python实现的简单文本类游戏实例
  3. 大数据的两面性_大数据,多大的数据才是大数据?
  4. python并发编程方法_Python Futures并发编程详解
  5. Java项目:贪吃蛇游戏(java+swing)
  6. linux脚本自定义赋值,JMeter——运用BeanShell给自定义的变量动态赋值
  7. js 使用filter过滤多重数组
  8. POI解析Excel文件工具类
  9. 作业六:图像编码相关概念
  10. uniapp 上拉加载更多完整实现源码