HTML5不仅仅是HTML规范的最新版本,它还是一系列用来制作现代富Web内容的相关技术的总称。其中最重要的三项技术是HTML5核心规范、CSS( CascadingStyle Sheets,层叠样式表)和JavaScript。
- HTML5核心规范定义用以标记内容的元素,并明确其含义。
- CSS可用于控制标记过的内容呈现在用户面前的外貌。
- JavaScript则可以用来操纵HTML文档的内容以及响应用户的操作,此外要想使用HTML5新增元素的一些为编程目的设计的特性也需要用到JavaScript。
1、新标准
为了应对漫长的标准化过程以及标准落后于常见用法的情况,HTM5及其相关技术是作为一系列小型标准而制定的。其中有些标准只有区区几页,涉及的只是某项特性中一个高度细化的方面。其他一些标准仍然有密密麻麻的几百页,涵盖了相关功能的所有方面。
这个办法有利也有弊。好处是可以加快标准制定步伐。主要的弊端在于难以全面掌握制定中的各个标准的情况以及这些标准之间的关系。技术规范的质量也有所下降。有些标准中存在着一些歧义,致使浏览器中的实现出现了不一致的情况。
最大的不足之处大概是没有一条可用来评估HTML5达标情况的基准线。我们现在还处于初始阶段,但是不能指望用户可能用到的所有浏览器都实现了要用的特性。因此采用HTML5中的特性是件复杂的事情,需要仔细评估相关标准得到支持的情况。
W3C公布过一个正式的HTML5徽标,但是它并不代表对HTML5标准及相关技术的全面支持。
2、引入原生多媒体支持
HTML5的一大改进就是支持在浏览器中直接播放视频和音频文件(也就是说不借助于插件)。这是W3C对插件风靡现象的一种反应。原生( native)多媒体支持再结合其他HTML特性可望大有作为。
3、引入可编程内容
HTML5最大的变化之一是添加了canvas元素,这个元素是对插件现象的另一反应,它提供了一个通用的绘图平面,开发人员可以用它完成一些通常用AdobeFlash来完成的任务。
这个特性之所以重要,部分原因在于要使用canvas元素就必须用到JavaScript。
4、引入语义Web
HTML5引人了一些用来分开元素的含义和内容呈现方式的特性和规则。它标志着HTML在走向成熟的道路上又迈上了一个新台阶,反映出制作和使用HTML内容的方式的多样性。
5、浏览器对HTML5的支持情况
最流行的那些浏览器都已经实现了许多HTML特性。一般用来浏览HTML5文档的是谷歌的Chrome或Mozilla的Firefox。然而,不是每款浏览器都支持所有的特性。
在把某个特性用到实际项目之前,应该先核查一下浏览器是否支持这个特性。有些浏览器(例如Chrome和Firefox )的升级近乎持不断。这意味着我无法就某种特性得到哪些浏览器支持提供确切的信息。
不过考虑到HTML标准的分散本性,使用Modernizr ( http://www.modernizr.com)之类的JavaScript库检查特性是可行的。使用Modernizr,可以用编程的方式判断用户使用的浏览器是否支持关键的HTML特性,籍此可以决定在文档中应该使用哪些特性。
可以参考一下网站( http://caniuse.com )。上面提供了浏览器的支持情况和采用率方面的详细信息,并且勤于修订。
6、网站对HTML5的支持情况
用到HTML5特性的网站日益增多。其中有些属于示范性网站,是用来演示HTML特性的。但是能利用浏览器对HTML5的支持的实用型网站也越来越多。YouTube就是一个典型,它现在已经提供让浏览器直接播放的视频——当然,它还为较老的浏览器提供Flash视频。