HTML5是HTML标准的下一个版本。越来越多的程序员开始HTML5来构建网站。如果你同时使用HTML4和HTML5的话,你会发现用HTML5从头构建,比从HTML4迁移到HTML5要方便很多。虽然HTML5没有完全颠覆HTML4,它们还是有很多相似之处,但是它们也有一些关键的不同。下面就列出了它们之间10个关键的不同之处。

1. HTML5 标准还在制定中
首先要注意的是,HTML5虽然现在很火,但是HTML5标准还在制定中,标准仍在改变。HTML4已经10多年了,不会有任何改变了。

2. 简化的语法
HTML5简化了很多细微的语法,例如doctype的声明,你只需要写<!doctype html>就行了。HTML5与HTML5,XHTML1兼容,但是与SGML(标准通用置标语言)不兼容。

3. <canvas>标签替代Flash
Flash给很多Web开发者带来了麻烦,要在网页上播放Flash需要一堆代码和插件。<canvas>标签使得开发者只要使用一个标签就能和用户产生UI交互。虽然目前<canvas>标签还不能实现Flash的所有功能,但是很快<canvas>就会让 Flash看起来老土,哈哈!

4. 新增 <header> <footer> 标签
HTML5设计的一个原则是更好的体现网站的语义性,所以增加了<header>和<footer>这样的标签,用来明确表示网页的结构。

5. 新增 <section> <article> 标签
与<header>, <footer>类似,<section>和<article>也有利于清晰化网页的结构,更有利于SEO。

注:<section> 标签定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。


6.  <menu> 和 <figure> 标签
<menu>可以被用于创建传统的菜单,也可以用于工具栏和上下文菜单。<figure>标签使得网页文字和图片的排版更专业。

注释:所有主流浏览器均不支持 menu 元素。

7. 新增 <audio> <video> 标签
这两个标签可能是HTML5里面最有用的两个标签了。顾名思义,这两个标签是用来播放音频和视频的。

8. 全新的表单
HTML5对 <form> 和 <forminput> 标签进行了大量修改,添加了很多新的属性,也修改了很多属性。

注:<form>在HTML5中添加的新属性有:autocomplete(规定是否启用表单的自动完成功能),novalidate(提交表单时不对其进行验证)。其中novalidate 属性适用于:<form>,以及以下类型的 <input> 标签:text, search, url, telephone, email, password, date pickers, range 以及 color。

9. 删除 <b> <font> 标签
这个改进我还无法理解。我不认为删除这两个标签对代码的改进有很大的帮助。官方的解释是应该用CSS来替代这两个标签。但我还是觉得对于简单的文本,这两个标签还是很方便的。