HTML5简介:
HTML5是HTML下一个的主要修订版本,以期能在互联网应用迅速发展的时候,使网络标准达到符合当代的网络需求,现仍处于发展阶段。 它希望能够减少浏览器对丰富性网络应用服务(RIA)的插件的需要,并且提供更多能有效增强网络应用的标准集。
HTML发展背景:
从1997年到1999年,HTML的版本从3.2到4.0到4.01,经历了非常快的发展。问题是到了4.01的时候,W3C的认识发生了倒退,他 们说“好了,这个版本就这样了,HTML也就这样了;HTML 4.01是HTML的最后一个版本了,我们用不着HTML工作组了。”
W3C并没有停止开发这门语言,只不过他们对HTML不再感兴趣了。在HTML 4.01之后,他们提出了XHTML 1.0。 虽然听起来完全不同,但XHTML 1.0与HTML 4.01其实是一样的。我的意思是说,从字面上看这两个规范的内容是一样的,词汇表是一样的,所有的元素是一样,所有的属性也都是一样的。唯一一点不同之 处,就是XHTML 1.0要求使用XML语法。也就是说,所有属性都必须使用小写字母,所有元素也必须使用小写字母,所有属性值都必须加引号,你还得记着使用结束标签,记着 对img和br要使用自结束标签。
从规范本身的内容来看,实际上是相同的,没有什么不同。不同之处就是编码风格,因为对浏览器来说,读取符合HTML 4.01、HTML 3.2,或者XHTML 1.0规范的网页都没有问题,对浏览器来说这些网页都是一样的,都会生成相同的DOM树。只不过人们会比较喜欢XHTML 1.0,因为不少人认同它比较严格的编码风格。但是要浏览器厂商“遵守个规范真的很难”。关于XHTML版本发展历史: XHTML 1.0(发布于2000年1月26日)。XHTML 1.1(发布于2001年5月31日)。XHTML 2.0为W3C工作草案。XHTML 1.0和XHTML 1.1基本上是一样的,唯一的变化是你必须把自己的文档标记为XML文档。而在使用XHTML 1.0的时候,我们不仅可以把文档标记为HTML,也可以标记为XML文档(即content="application/xhtml+xml")。对于标记为Xml的文档,就必须遵守XML的规范,有些规范,比如大小写,闭合等,对于网页开发的专业人员来说,可以带来编码的规范化,这不是什么坏事,但是有一点就显得苛刻,那就是XML的错误处理模型:如果解析器解释时遇到错误,就停止解析。规范里就是这么写的,这样浏览器马上就会死掉。这就违反了伯斯塔尔法则一条设计原理:发送时要保守;接收时要开放。这也是为什么XHTML 1.1没有像XML那样得到真正广泛地应用。 而浏览器的大哥IE同样不予支持,不能处理XHTML(当然,IE9现在是可以处理)。因为以XML为格式的文档是需要浏览器支持XML解析器,对于只支持HTML解释器的浏览器,则会出现错误。
之后,就到了HTML5,但HTML5并不是由W3C直接制定的。由于W3C觉得HTML已经死了,XHTML 2才是未来的方向,所以停止继续扩展HTML。但是Opera、Apple等浏览器厂商,以及其他一些成员并不赞同,所以他们就脱离了W3C,并成立了Web Hypertext Applications Technology Working Group(Web超文本应用技术工作组,WHATWG)。WHATWG决 定完全脱离W3C,在HTML的基础上开展工作,向其中添加一些新东西。这个工作组的成员里有浏览器厂商,因此他们不仅可以说加就加,而且还能够一一实 现。结果,大家不断提出一些好点子,并且逐一做到了浏览器中。WHATWG的工作效率很高,不久就初见成效。在此期间,W3C的XHTML 2没有什么实质性的进展。特别是,如果从实现的角度来说,用原地踏步形容似乎也不为过。结果,一件有意思的事情发生了。那是在2006年,蒂姆·伯纳斯- 李写了一篇博客,说:“你们知道吗?我们错了。我们错在企图一夜之间就让Web跨入XML时代,我们的想法太不切实际了,是的,也许我们应该重新组建 HTML工作组了。”善哉斯言,后来的故事情节果真就是这样发展的。W3C在2007年组建了HTML5工作组。这个工作组面临的第一个问题,毫无疑问就 是“我们是从头开始做起呢,还是在2004年成立的那个叫WHATWG的工作组既有成果的基础上开始工作呢?”答案是显而易见的,他们当然希望从已经取得 的成果着手,以之为基础展开工作。于是他们又投了一次票,同意“在WHATWG工作成果的基础上继续开展工作”。好了,这下他们要跟WHATWG并肩战斗 了。
HTML5新特性:
- 用于绘画的 canvas 元素 详细介绍 Demo
- 用于媒介回放的 video(格式:Ogg和MPEG4) 和 audio 元素(格式:MP3和WAV) 详细介绍 video Demo audio Demo
- 内容编辑、本地离线存储等 Demo
- 关于布局的元素,比如 article、footer、header、nav、section Demo
- 新的表单控件,比如date、time、email、url、search Demo