在之前的HTML页面中,大家基本上都是用了Div+CSS的布局方式。而搜索引擎去抓取页面的内容的时候,它只能猜测你的某个Div内的内容是文章内容容器,或者是导航模块的容器,或者是作者介绍的容器等等。也就是说整个HTML文档结构定义不清晰,HTML5中为了解决这个问题,专门添加了:页眉、页脚、导航、文章内容等跟结构相关的结构元素标签。

在讲这些新标签之前,我们先看一个普通的页面的布局方式:

 上图中我们非常清晰的看到了,一个普通的页面,会有头部,导航,文章内容,还有附着的右边栏,还有底部等模块,而我们是通过class进行区分,并通过不同的css样式来处理的。但相对来说class不是通用的标准的规范,搜索引擎只能去猜测某部分的功能,另外就是此页面程序交给视力障碍人士来阅读的话,文档结构和内容也不会很清晰。而HTML5新标签带来的新的布局则是下面这种情况:

相关的HTML代码是:
 <body>
  <header>...</header>
  <nav>...</nav>
  <article>
   <section>...</section>
  </article>
  <aside>...</aside>
  <footer>...</footer>
 </body>

 有了上面的直接的感官的认识后,我们下面一一来介绍HTML5中的相关结构标签。

section标签
  <section>标签,定义文档中的节。比如章节、页眉、页脚或文档中的其它部分。一般用于成节的内容,会在文档流中开始一个新的节。它用来表现普通的文档内容或应用区块,通常由内容及其标题组成。但section元素标签并非一个普通的容器元素,它表示一段专题性的内容,一般会带有标题。

当我们描述一件具体的事物的时候,通常鼓励使用article来代替section;当我们使用section时,仍然可以使用h1来作为标题,而不用担心它所处的位置,以及其它地方是否用到;当一个容器需要被直接定义样式或通过脚本定义行为时,推荐使用div元素而非section。

<section>
   <h1>section是什么?</h1>
   <h2>一个新的章节</h2>
   <article>
    <h2>关于section</h1>
    <p>section的介绍</p>
    ...
   </article>
 </section>

article标签
  <article>是一个特殊的section标签,它比section具有更明确的语义,它代表一个独立的、完整的相关内容块,可独立于页面其它内容使用。例如一篇完整的论坛帖子,一篇博客文章,一个用户评论等等。一般来说,article会有标题部分(通常包含在header内),有时也会包含footer。article可以嵌套,内层的article对外层的article标签有隶属关系。例如,一篇博客的文章,可以用article显示,然后一些评论可以以article的形式嵌入其中。
 <article>
  <header>
   <hgroup>
    <h1>这是一篇介绍HTML 5结构标签的文章</h1>
    <h2>HTML 5的革新</h2>
   </hgroup>
   <time datetime="2011-03-20">2011.03.20</time>
  </header>
  <p>文章内容详情</p>
 </article>

nav标签
   nav标签代表页面的一个部分,是一个可以作为页面导航的链接组,其中的导航元素链接到其它页面或者当前页面的其它部分,使html代码在语义化方面更加精确,同时对于屏幕阅读器等设备的支持也更好。
<nav>
 <ul>
  <li>厚德IT</li>
  <li>FlyDragon</li>
  <li>J飞龙天惊</li>
 </ul>
</nav>

aside标签
   aside标签用来装载非正文的内容,被视为页面里面一个单独的部分。它包含的内容与页面的主要内容是分开的,可以被删除,而不会影响到网页的内容、章节或是页面所要传达的信息。例如广告,成组的链接,侧边栏等等。

<aside>
  <h1>作者简介</h1>
  <p>厚德IT</p>
 </aside>

header标签
  <header>标签定义文档的页眉,通常是一些引导和导航信息。它不局限于写在网页头部,也可以写在网页内容里面。通常<header>标签至少包含(但不局限于)一个标题标记(<h1>-<h6>),还可以包括<hgroup>标签,还可以包括表格内容、标识、搜索表单、<nav>导航等。
<header>
 <hgroup>
  <h1>网站标题</h1>
  <h1>网站副标题</h1>
 </hgroup>
</header>

footer标签
   footer标签定义section或document的页脚,包含了与页面、文章或是部分内容有关的信息,比如说文章的作者或者日期。作为页面的页脚时,一般包含了版权、相关文件和链接。它和<header>标签使用基本一样,可以在一个页面中多次使用,如果在一个区段的后面加入footer,那么它就相当于该区段的页脚了。
 <footer>
   COPYRIGHT@厚德IT
 </footer>

hgroup标签
   hgroup标签是对网页或区段section的标题元素(h1-h6)进行组合。例如,在一区段中你有连续的h系列的标签元素,则可以用hgroup将他们括起来
 <hgroup>
  <h1>这是一篇介绍HTML 5结构标签的文章</h1>
  <h2>HTML 5的革新</h2>
 </hgroup>

figure 标签
   用于对元素进行组合。多用于图片与图片描述组合。
 <figure>
  <img src="img.gif" alt="figure标签" title="figure标签" />
  <figcaption>这儿是图片的描述信息</figcaption>
 </figure>

总结:
   有了新的结构性的标签的标准,让HTML文档更加清晰,可阅读性更强,更利于SEO,也更利于视障人士阅读。

 

来源:http://www.cnblogs.com/fly_dragon/archive/2012/05/25/2516142.html

本站其它文章:
   
Html5 Canvas canvas五彩圆  2015-02-04
JavaScript之内置对象  2015-02-04
JavaScript中同名标识符优先级问题  2015-02-04
Javascript中各种trim方法的实现  2015-02-04
Servlet+JSP分页实例  2015-02-03
使用JSTL + servlet + EL完成的小小的分页程序  2015-02-03
HTML5 canvas之粒子汇聚“OPEN”!  2015-02-02
jsp避免表单的重复提交  2015-02-02
jsp实现文件保存与读取  2015-02-02
Cookie操作以及在js中使用jsp变量  2015-02-02
学习JSTL SQL标签库  2015-02-02
学习JSTL核心标签库  2015-01-31
jsp中禁用EL表达式的方法  2015-01-31
JSP对用户进行统一验证的过滤器  2015-01-30
HttpSessionBindingListener获取在线用户数  2015-01-29
浅析用HTML5 Canvas 粒子系统打造特效  2015-01-28
Html5 Canvas 3D旋转"心"  2015-01-28
HTML5 canvas打造3d标签云。  2015-01-28
JSP EL表达式中自定义函数  2015-01-27
Html5 Canvas 简单圆环碰撞动画  2015-01-27

HTML5的新结构标签的更多相关文章

  1. HTML5新结构标签和移动端页面布局

    --------------------HTML5新结构标签--------------------1.h5新增的主要语义化标签如下: 1.header 页面头部.页眉 2.nav 页面导航 3.ar ...

  2. html5新结构标签

    html5新结构标签 <header>  定义 section 或 page 的页眉,也就是定义头部的标签. <footer> 定义 section 或 page 的页脚. & ...

  3. 学习HTML5之新特性标签一览(详细)

    HTML5又2008年诞生,HTML5大致可以等同于=html+css3+javascriptapi.... so --->支持css3强大的选择器和动画以及javascript的新的函数 先来 ...

  4. 让低版本IE支持Html5的新语义标签

    HTML5能为我们做的事儿很多,最为可口的就是语义化标签的应用,如果你已经在Chrome或者其他支持HTML5的浏览器上用过它的牛x,那这篇文章对你一定有用,因为现在你也可以在IE上用到HTML5. ...

  5. HTML5 添加新的标签 input属性

    <!-- 新增 有语意标签 --> <nav></nav> <!-- 导航标签 --> <seclion></seclion> ...

  6. 为HTML5添加新样式标签

    为 HTML 添加新元素 该实例向 HTML 添加的新的元素,并为该元素定义样式,元素名为 <myHero> : 实例 <!DOCTYPE html> <html> ...

  7. HTML5新增结构标签

    引言 在本节中,笔者将向大家讲述三部分内容,分别介绍HTML5时代的召唤,跟HTML4的区别,以及HTML5中带来的新的结构标签. HTML5时代的召唤 HTML4与HTML5的区别 HTML5新结构 ...

  8. HTML5的新的结构元素介绍

    HTML5的新的结构元素介绍 一.HTML5与HTML4的区别 1. 取消了一些过时的HTML4的标签 其中包括纯粹显示效果的标记,如<font>和<center>,它们已经被 ...

  9. HTML5学习之新增标签

    转自:http://www.cnblogs.com/fly_dragon/archive/2012/05/25/2516142.html 作者:FlyDragon 一.引言 在本节中,笔者将向大家讲述 ...

随机推荐

  1. 统一登录中心SSO 单点登录系统的构想

    什么是单点登录?我想肯定有一部分人“望文生义”的认为单点登录就是一个用户只能在一处登录,其实这是错误的理解.单点登录指的是多个子系统只需要登录一个,其他系统不需要登录了(一个浏览器内).一个子系统退出 ...

  2. 数据库如何从SQL server转换到SQLite

    我之前用的是SQL server数据库,但是客户那里觉得安装这个大的数据库比较卡,说是导致蓝屏了,硬往SQL server上赖,没有办法客户是上帝么,给他换个小点的数据库吧!考虑Access,不行这个 ...

  3. sp2010 升级sp2013 用户无法打开网站

    Add-PSSnapin microsoft.sharepoint.powershell $WebAppName = "http://wtcsps99:82/" $wa = get ...

  4. 程序媛计划——python初级课时1~2

    在命令行中运行py文件:python 文件路径/文件名 python变量必须赋值后才能使用,因为py变量只有赋值后才会被创建. py可以同时给多个变量赋值:a,b,c = 10,20,'dfjkdj' ...

  5. django 使用celery 实现异步任务

    celery 情景:用户发起request,并等待response返回.在本些views中,可能需要执行一段耗时的程序,那么用户就会等待很长时间,造成不好的用户体验,比如发送邮件.手机验证码等. 使用 ...

  6. Core Data Tutorial for IOS: Getting Started

    http://www.raywenderlich.com/934/core-data-tutorial-for-ios-getting-started

  7. [rejected] master -> master (fetch first)

    可以输入: git push -f 可以ok了. 确实是OK了,但是不知道原理,待后来解

  8. Struts2中使用OGNL表达式语言访问静态方法和静态属性

    1.一定要在struts.xml配置文件中配置允许使用OGNL访问静态方法,否则不能使用OGNL访问静态方法 2.<s:property value="@com.gk.StaticTe ...

  9. Oracle 数据类型 与C#映射关系

    大部分类型的对应关系:原文:http://2143892.blog.51cto.com/2133892/499353 序号 Oracle数据类型 .NET类型 GetOracleValue类型 DbT ...

  10. mysql主从同步详细教程

    1.安装好主数据库和从数据库,这个大家肯定都会,如果不是很明白,可以参考我前面的安装教程. 例子: 假如我需要同步test1.test2数据库 系统:centos7 主库主机:192.168.1.25 ...