引言
在本节中,笔者将向大家讲述三部分内容,分别介绍HTML5时代的召唤,跟HTML4的区别,以及HTML5中带来的新的结构标签。
- HTML5时代的召唤
- HTML4与HTML5的区别
- HTML5新结构标签
HTML5时代的召唤
上一代的HTML的标准: HTML 4.01 和 XHTML 1.0 距离今天已经发布了10多年了,而Web端的应用也已经翻天覆地的变换。而且Web前端没有一个统一的通用的互联网标准,各个浏览器间拥有太多的不兼容,在维护这些浏览器兼容性浪费了太多的时间。再有就是之前的多媒体操作、动画等都需要第三方的插件的支持,而这就造成多平台的兼容性的问题,而这一切在HTML5中都将成为标准,这样就在根本上解决了浏览器的差异以及一些第三方插件的问题,让Web应用更加标准,通用性更强,而且更加的独立于设备。
HTML5并不是革命性的改变,而只是发展性的。而且对于之前HTML4的很多标准都是兼容的,所有通过最新HTML5标准制作的Web应用也可以轻松的跑在老版本的浏览器上。HTML5标准中的确是集成了很多实用的功能比如:音视频、本地存储、Socket通信、动画等都是之前应用开发中确实感觉到Web端的鸡肋才得到重视和升级的,相信如果你有相关的经验的话也会很有感触。
HTML5的目标是:它通过一些新标签,新功能为开发更加简、独立、标准的通用Web应用提供了标准。新的标准解决了三大问题:浏览器兼容问题,解决了文档结构不明确的问题,解决了Web应用程序功能受限等问题。
HTML4与HTML5的区别
1、取消了一些过时的 HTML4的标签
其中包括纯粹显示效果的标记,如和
其他取消的属性:acronym, applet, basefont, big, center, dir, font, frame, frameset, isindex, noframes, strike, tt。
2、添加了一些新的元素
比如:更加智能的表单标签:date, email, url 等;更加合理的标签:section, video, progress, nav, meter, time, aside, canvas等。
3、新的全局属性:id, tabindex, repeat
4、文件类型声明()仅有一型:。
5、新的JS API
还有很多其他的变化,后续的系列博文中我将一一介绍。
HTML5的新结构标签
在之前的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标签
当我们描述一件具体的事物的时候,通常鼓励使用article来代替section;当我们使用section时,仍然可以使用h1来作为标题,而不用担心它所处的位置,以及其它地方是否用到;当一个容器需要被直接定义样式或通过脚本定义行为时,推荐使用div元素而非section。
<section> <h1>section是什么?h1> <h2>一个新的章节h2> <article> <h2>关于sectionh1> <p>section的介绍p> ... article> section>
article标签
<article> <header> <hgroup> <h1>这是一篇介绍HTML 5结构标签的文章h1> <h2>HTML 5的革新h2> hgroup> <time datetime="2011-03-20">2011.03.20time> header> <p>文章内容详情p> article>
nav标签
nav标签代表页面的一个部分,是一个可以作为页面导航的链接组,其中的导航元素链接到其它页面或者当前页面的其它部分,使html代码在语义化方面更加精确,同时对于屏幕阅读器等设备的支持也更好。
<nav> <ul> <li>厚德ITli> <li>FlyDragonli> <li>J飞龙天惊li> ul> nav>
aside标签
aside标签用来装载非正文的内容,被视为页面里面一个单独的部分。它包含的内容与页面的主要内容是分开的,可以被删除,而不会影响到网页的内容、章节或是页面所要传达的信息。例如广告,成组的链接,侧边栏等等。
<aside> <h1>作者简介h1> <p>厚德ITp> aside>
header标签
通常-
),还可以包括标签,还可以包括表格内容、标识、搜索表单、
<header> <hgroup> <h1>网站标题h1> <h1>网站副标题h1> hgroup> header>
footer标签
footer标签定义section或document的页脚,包含了与页面、文章或是部分内容有关的信息,比如说文章的作者或者日期。作为页面的页脚时,一般包含了版权、相关文件和链接。它和
<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,也更利于视障人士阅读。
HTML5旋风来了,你准备好了吗?
当然以上只是笔者的观点,每个人都有阅读新技术的角度,欢迎大家转载讨论。
参考书:《HTML5与CSS3权威指南》
参考网址:
http://www.alistapart.com/articles/previewofhtml5
http://coding.smashingmagazine.com/2009/07/16/html5-and-the-future-of-the-web/
http://www.w3school.com.cn
http://zh.wikipedia.org/wiki/HTML5
http://www.rainleaves.com/html/1338.html