最近正在学习html5,刚接触html5,感觉有点不适应,因为有一些标签改变了,特别是div, section article这三个标签,查了一些资料,也试着用html5和css3布局网页,稍微有点头绪了,下边还有一个我刚刚布局好的一个简单的网页,供大家参考,先看一下,最起码心里对html5的结构有些概念。

div

HTML Spec: “The div element has no special meaning at all.”

这个标签是我们见得最多、用得最多的一个标签。本身没有任何语义,用作布局以及样式化或脚本的钩子(hook)。

section

HTML Spec: “The section element represents a generic section of a document or application. A section, in this context, is a thematic grouping of content, typically with a heading.”

与 div 的无语义相对,简单地说 section 就是带有语义的 div 了,但是千万不要觉得真得这么简单。section 表示一段专题性的内容,一般会带有标题。看到这里,我们也许会想到,那么一篇博客文章,或者一条单独的评论岂不是正好可以用 section 吗?接着看:

“Authors are encouraged to use the article element instead of the section element when it would make sense to syndicate the contents of the elemen.”

当元素内容聚合起来更加言之有物时,应该使用 article 来替换 section 。

那么,section 应该什么时候用呢?再接着看:

“Examples of sections would be chapters, the various tabbed pages in a tabbed dialog box, or the numbered sections of a thesis. A Web site’s home page could be split into sections for an introduction, news items, and contact information.”

section 应用的典型场景有文章的章节、标签对话框中的标签页、或者论文中有编号的部分。一个网站的主页可以分成简介、新闻和联系信息等几部分。其实我对这里传达信息很感兴趣,因为感觉 section 和下面要介绍的 artilce 更加适用于模块化应用,这个话题以后会出篇专门的文章来讨论,这里暂时略过。

要注意,W3C 还警告说:

“The section element is not a generic container element. When an element is needed for styling purposes or as a convenience for scripting, authors are encouraged to use the div element instead. A general rule is that the section element is appropriate only if the element’s contents would be listed explicitly in the document’s outline.”

section 不仅仅是一个普通的容器标签。当一个标签只是为了样式化或者方便脚本使用时,应该使用 div 。一般来说,当元素内容明确地出现在文档大纲中时,section 就是适用的。

article

HTML Spec: “The article element represents a self-contained composition in a document, page, application, or site and that is, in principle, independently distributable or reusable, e.g. in syndication.”

article 是一个特殊的 section 标签,它比 section 具有更明确的语义, 它代表一个独立的、完整的相关内容块。一般来说, article 会有标题部分(通常包含在 header 内),有时也会 包含 footer 。虽然 section 也是带有主题性的一块内容,但是无论从结构上还是内容上来说,article 本身就是独立的、完整的。

HTML Spec 中接着又列举了一些 article 适用的场景。 “This could be a forum post, a magazine or newspaper article, a blog entry, a user-submitted comment, an interactive widget or gadget, or any other independent item of content.”

当 article 内嵌 article 时,原则上来说,内部的 article 的内容是和外层的 article 内容是相关的。例如,一篇博客文章中,包含用户提交的评论的 article 就应该潜逃在包含博客文章 article 之中。

问题是怎么才算“完整的独立内容”?有个最简单的判断方法是看这段内容在 RSS feed 中是不是完整的。看这段内容脱离了所在的语境,是否还是完整的、独立的。

例子:

html页面:

复制代码代码如下:

初学html5

  • 首页
  • 关于
  • 服务
  • 信息
  • 联系

这是一个用HTML5做的网页

HTML5+CSS3网页

Lorem ipsum dolor sit amet, consectetur adipiscing elitVivamus ac iaculis erat. Maecenas id fermentum odio. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sagittis porta mauris, iaculis egestas metus posuere sit amet. Sed ullamcorper orci eu dolor egestas sodales. Donec tempor aliquet pulvinar. Sed sed turpis sapien, ac dictum sem. Phasellus metus leo, gravida in imperdiet sit amet, bibendum id magna. Vivamus ac nunc tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In quis justo ligula. Suspendisse sodales ultricies consequat. Aenean condimentum eros mi. Duis consectetur placerat vehicula. Fusce vel massa erat.

A demonstration of list items

  • Lorem ipsum dolor sit amet
  • Lorem ipsum dolor sit amet
  • Lorem ipsum dolor sit amet
  • Lorem ipsum dolor sit amet
  • Lorem ipsum dolor sit amet
  1. Lorem ipsum dolor sit amet
  2. Lorem ipsum dolor sit amet
  3. Lorem ipsum dolor sit amet
  4. Lorem ipsum dolor sit amet
  5. Lorem ipsum dolor sit amet

这就是aside部分的内容

Aliquam id lorem ac tellus fringilla bibendum et at turpis. In ut auctor justo. Integer ac quam sed est semper hendrerit. Aenean vulputate interdum augue, sed dapibus mi ultricies convallis. Curabitur a nunc nisi, ac ornare nisi. Ut semper placerat accumsan. Cras eu nibh lorem. Sed sit amet ligula vitae orci molestie sollicitudin sit amet at odio. Mauris non elit ac ipsum facilisis eleifend. Maecenas eu velit sit amet neque iaculis dapibus. Integer mollis est id erat dignissim blandit. Quisque malesuada mattis sollicitudin. Pellentesque volutpat pellentesque luctus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed cursus augue ut sem convallis ullamcorper. Donec vitae magna nec lacus varius pellentesque vel nec diam. Morbi sagittis, magna sit amet sollicitudin ultricies, neque orci fermentum ipsum, non cursus lectus velit at ante. Donec nec neque in sem suscipit faucibus. Aliquam nisi turpis, volutpat quis suscipit in, varius vitae nunc.

© Copyright Dave Woods 2009

css页面:

复制代码代码如下:

@charset "utf-8";

/* CSS Document */

#container{

width: 840px;

margin: 20px auto;

background:#fff;

padding:30px;

overflow:hidden;

}

/*--------------- header ----------------*/

#main-navigation{

border-bottom:5px solid #666;

}

#main-navigation ul{

overflow:hidden;

width:100%;

list-style:none;

font-size:1.6em;

}

#main-navigation li{

float:left;

}

#main-navigation li a{

background:#999;

margin: 0 5px 0 0;

padding:5px 30px;

display:block;

color:#fff;

text-decoration:none;

}

#main-navigation li.current a{

background:#666;

}

#main-navigation li a:hover{

background:#777;

}

/*-------------------------- article ------------------------*/

article{

width:100%;

overflow:hidden;

}

section{

float:left;

width:500px;

}

/*-------------------------- article ------------------------*/

aside{

float:right;

width:310px;

}

/*-------------------------- article ------------------------*/

footer{

width:840px;

margin:20px auto;

font-size:1.4em;

text-align:center;

}

总结:

div section article ,语义是从无到有,逐渐增强的。div 无任何语义,仅仅用作样式化或者脚本化的钩子(hook),对于一段主题性的内容,则就适用 section,而假如这段内容可以脱离上下文,作为完整的独立存在的一段内容,则就适用 article。原则上来说,能使用 article 的时候,也是可以使用 section 的,但是实际上,假如使用 article 更合适,那么就不要使用 section 。nav 和 aside 的使用也是如此,这两个标签也是特殊的 section,在使用 nav 和 aside 更合适的情况下,也不要使用 section 了。

对于 div 和 section、 article 以及其他标签的区分比较简单。对于 section 和 article 的区分乍看比较难,其实重点就是看看这段内容脱离了整体是不是还能作为一个完整的、独立的内容而存在,这里面的重点又在完整身上。因为其实说起来 section 包含的内容也能算作独立的一块,但是它只能算是组成整体的一部分,article 才是一个完整的整体。

最后附上我的首个html5页面源码:http://xiazai.jb51.net/201308/yuanma/demoh5_jb51.net.rar

html语言 section type,HTML5中div、article、section的区别及使用介绍相关推荐

  1. html中section与div,HTML5中div、section、article的区别

    HTML5中新增了...... 多个有语义的结构化标签元素.其中section和article这两个标签和div差不多功能,很容易混淆. div(分区division) 这个标签是我们见得最多.用得最 ...

  2. HTML5中的Article和Section元素

    日期:2013-3-20  来源:GBin1.com HTML5带出了一系列新元素,并且将在未来被广泛应用.然而,有一些元素在使用时易被混淆,包括以下两个新元素:<article>和< ...

  3. 深入浅析HTML5中的article和section的区别

    在HTML5中,为了使文档的结构更加清晰明确,追加了几个与页眉.页脚.内容区块等文档结构相关联的结构元素.内容区块是指将HTML页面按逻辑分割后 的单位.例如对于书籍来说,章.节可以称为内容区块:对于 ...

  4. [html] HTML5中的article和section有什么区别?

    [html] HTML5中的article和section有什么区别? <article> 标签定义外部的内容,比如来自 blog 的文本.其内容独立于文档的其余部分.<sectio ...

  5. html中用来表示主题标签的是什么,HTML5中的article标签是什么?HTML5中的article元素用在什么地方?...

    HTML5中的article标签是什么?HTML5中的article元素用在什么地方?本篇文章主要为大家解释了什么是HTML5中的article标签,article用在什么地方,还有HTML5中art ...

  6. Html5中的<section>标签的介绍

    section 字面上理解为"块","部分",section元素代表一个页面或一个内容块的部分,一般作为主题块列表,在html5网页中表现的意思跟字面理解差不多 ...

  7. Html5中的<section>标签

    本文导读:<section> 标签定义文档中的节(section.区段).比如章节.页眉.页脚或文档中的其他部分.section元素标签用来表现普通的文档内容或应用区块.一个section ...

  8. html界面出现 section,如何在HTML5中正确使用“ section”标签?

    标记的正确方法是什么? 从技术上讲,两者都是正确的. 我要说的是,这两个示例看起来都不正确--但是很难用纯文本而不是真实上下文来说明,因为是语义标记,而不是像这样的通用包装. 您当然不应该有两个具有相 ...

  9. 用html语言编写搜索栏,html5中如何制作搜索栏

    html5中制作搜索栏的方法:首先新建一个div,id名为box,用来包裹搜索框:然后在内部添加一个input标签和一个div标签:最后使用css为它们设计样式即可. 本教程操作环境:windows7 ...

最新文章

  1. 给娃写个游戏,庆祝嫦娥五号登月
  2. 马斯克:今年占全球发射质量65%,星舰5月或首次轨道试飞
  3. Agile Manifesto and principle
  4. 007_JavaScript关键字和保留字
  5. 这样设置ae导出文件的时候m1还是能顶得住的,3分钟的事情渲染一个开场
  6. neo4j在linux下的安装
  7. 如何将云持久存储添加到JBoss Cool Store
  8. Ubuntu 15.10 默认壁纸?
  9. Solidity API
  10. linux tomcat 进程杀掉_Linux下tomcat的配置踩坑
  11. eclipse中快捷搜索文件快捷键
  12. 力扣-872 叶子相似的树
  13. 在数据中心里SDN技术发展现状
  14. 电子版2寸照片的像素是多少
  15. 怎样无损调整分区大小和扩容分区?
  16. 第三章 DirectX 图形绘制(上)
  17. 在Sbo Add-on插件中实现通用的模态数据选择
  18. 天使纪元392服务器维护,天使纪元公测什么时候能玩 天使纪元1月11日服务器什么时候能进...
  19. jQuery fadeIn() 方法
  20. AnimatedIcon

热门文章

  1. Python常用模块之random模块
  2. Python: strip()和split()的用法与区别
  3. Python3协程(coroutine)理解
  4. Python argparse模块基本用法
  5. pandas - 案例(股票分析)
  6. Python文件的两种用途
  7. Linux系统重新对时,Linux系统时区不对怎么办?
  8. 如何判断locals()变量或globals()变量是否存在或是否为空?
  9. DSP与FPGA和嵌入式是什么关系?
  10. python libusb1库