1.2 HTML5基础
HTML5是近十年来Web标准最巨大的飞跃。与以前的版本不同,HTML5并非仅仅用来表示Web内容,它的使命是将Web带入一个成熟的应用平台,在这个平台上,视频、音频、图像、动画,以及同电脑的交互都被标准化。HTML5目前仍然处于发展的阶段,基于互联网的应用已经越来越丰富,同时也对互联网应用提出了更高的要求,HTML5俨然已经成为互联网领域最热门的词语。
1.2.1 HTML5概述
W3C在2010年1月22日发布了最新的HTML5工作草案。HTML5的工作组包括AOL、Apple、Google、IBM、Microsoft、Mozilla、Nokia、Opera,以及数百个其他的开发商。开发HTML5的目的是取代1999年W3C所制定的HTML 4.01和XHTML 1.0标准,希望在网络应用迅速发展的同时,网页语言能够符合网络发展的需求。
HTML5实际上指的是包括HTML、CSS样式和JavaScript脚本在内的一整套技术的组合,希望通过HTML5轻松实现许多丰富的网络应用需求,减少浏览器对插件的依赖,并且提供更多能有效增强网络应用的标准集。
在HTML5中添加了许多新的应用标签,其中包括<video>、<audio>和<canvas>等标签,添加这些标签是为了设计者能够更轻松地在网页中添加或处理图像和多媒体内容。其他新的标签还有<section>、<article>、<header>和<nav>,这些新添加的标签是为了能够更加丰富网页中的数据内容。除添加了许多功能强大的新标签和属性外,还对一些标签进行了修改,以方便适应快速发展的网络应用。当然,也有一些标签和属性在HTML5标准中已经被去除。
1.2.2 HTML5的优势
对于用户和网站开发者而言,HTML5的出现意义非常重大。因为HTML5解决了Web页面存在的诸多问题,HTML5的优势主要表现在以下几个方面。
1. 化繁为简
HTML5为了做到尽可能简化,避免了一些不必要的复杂设计。例如,DOCTYPE声明的简化处理,在过去的HTML版本中,第一行的DOCTYPE过于冗长,在实际的Web开发中也没有什么意义,而在HTML5中DOCTYPE声明就非常简洁。
为了让一切变得简单,HTML5下了很大的功夫。为了避免造成误解,HTML5对每一个细节都有非常明确的规范说明,不允许有任何的歧义和模糊出现。
2. 向下兼容
HTML5有着很强的兼容能力。在这方面,HTML5没有颠覆性的革新,允许存在不严谨的写法,例如,一些标签的属性值没有使用英文引号括起来;标签属性中包含大写字母;有的标签没有闭合等。然而这些不严谨的错误处理方案,在HTML5的规范中都有着明确的规定,也希望未来在浏览器中有一致的支持。当然,对于Web开发者来说,还是遵循严谨的代码编写规范比较好。
对于HTML5的一些新特性,如果旧的浏览器不支持,也不会影响页面的显示。在HTML规范中,也考虑了这方面的内容,如在HTML5中<input>标签的type属性增加了很多新的类型,当浏览器不支持这些类型时,默认会将其视为text。
3. 支持合理
HTML5的设计者们花费了大量的精力研究通用的行为。例如,Google分析了上百万份的网页,从中提取了<div>标签的ID名称,很多网页开发人员都这样标记导航区域。
<div> //导航区域内容 </div>
既然该行为已经大量存在,HTML5就会想办法去改进,所以就直接增加了一个<nav>标签,用于网页导航区域。
4. 实用性
对于HTML无法实现的一些功能,用户会寻求其他方法来实现,如对于绘图、多媒体、地理位置和实时获取信息等应用,通常会开发一些相应的插件间接地去实现。HTML5的设计者们研究了这些需求,开发了一系列用于Web应用的接口。
HTML5规范的制定是非常开放的,所有人都可以获取草案的内容,也可以参与提出宝贵意见。因为开放,所以可以得到更加全面的发展。一切以用户需求为最终目的。所以,当用户在使用HTML5的新功能时,会发现正是期待已久的功能。
5. 用户优先
在遇到无法解决的冲突时,HTML5规范会把最终用户的诉求放在第一位。因此,HTML5的绝大部分功能都是非常实用的。用户与开发者的重要性远远高于规范和理论。例如,有很多用户都需要实现一个新的功能,HTML5规范设计者们会研究这种需求,并纳入规范;HTML5规范了一套错误处理机制,以便当Web开发者写了不够严谨的代码时,接纳这种不严谨的写法。HTML5比以前版本的HTML更加友好。