什么是HTML5?
HTML5草案的前身名为Web Applications 1.0。于2004年被WHATWG提出,于2007年被W3C接纳,并成立了新的HTML工作团队。在2008年1月22日,第一份正式草案已公布,并在2010年9月正式向公众推荐。
HTML5提供了一些新的元素和属性,例如<nav>和<footer>。这种标签将有利于搜索引擎的索引整理,同时更好的帮助小屏幕装置和视障人士使用。除此之外,还为其他浏览要素提供了新的功能,例如<audio>和<video>元素。
另外,在HTML5规范中,一些过时的HTML4标记将被取消,其中包括纯粹显示效果的标记,如<font>和<center>。它们已经被CSS取代。
HTML5标签的改变
HTML5吸取了XHTML2的一些建议,包括一些用来改善文档结构的功能,如新的HTML标签header, footer, dialog, aside, figure等的使用,将使内容创作者更加语义地创建文档。在HTML5之前的开发者在这些场合是一律使用的都是div。
HTML5 还包含了一些将内容和展示分离的努力,开发者们也许会惊讶,b和i标签依然存在,但它们的意义已经和之前有所不同,这些标签的意义只是为了将一段文字标识出来,不是为了为它们设置粗体或斜体式样。u,font,center,strike这些标签则被完全去掉了。
在HTML5中,引入了全新的表单输入对象,包括日期,URL,Email地址,其它的对象则增加了对非拉丁字符的支持。HTML5还引入了微数据,一种使用机器可以识别的标签标注内容的方法,使语义Web的处理更为简单。总的来说,这些与结构有关的改进使内容创建者可以创建更干净,更容易管理的网页,这样的网页对搜索引擎,对读屏软件等更为友好。
新应用程序接口
除了原先的DOM接口,HTML5增加了更多API,如:
- 用于即时2D绘图的Canvas标签
- 定时媒体回放
- 离线数据库存储
- 文档编辑
- 拖拽控制
- 浏览历史管理
HTML5与HTML4的不同之处
HTML 5 有两大特点:
- 首先,强化了Web网页的表现性能。除了可描绘二维图形外,还准备了用于播放视频和音频的标签。
- 其次,追加了本地数据库等Web应用的功能。
HTML5标签
下表中列出了HTML的可用标签,部分标签在HTML4规范和HTML5规范中都做了定义,可以在HTML4和HTML5中使用。
| 标签 | 标签含义 | HTML5 | HTML4 | 
| <!DOCTYPE> | 定义文档类型 | ||
| <a> | 定义超链接 | ||
| <abbr> | 定义缩写 | ||
| <acronym> | HTML 5 中不支持。定义首字母缩写 | ||
| <address> | 定义地址元素 | ||
| <applet> | HTML 5 中不支持。定义 applet | ||
| <area> | 定义图像映射中的区域 | ||
| <article> | 定义article | ||
| <aside> | 定义页面内容之外的内容 | ||
| <audio> | 定义声音内容 | ||
| <b> | 定义粗体文本 | ||
| <base> | 定义页面中所有链接的基准URL | ||
| <basefont> | HTML 5 中不支持 | ||
| <bdo> | 定义文本显示的方向 | ||
| <big> | HTML 5 中不支持。定义大号文本 | ||
| <blockquote> | 定义长的引用 | ||
| <body> | 定义body元素 | ||
| <br> | 插入换行符 | ||
| <button> | 定义按钮 | ||
| <canvas> | 定义图形画布 | ||
| <caption> | 定义表格标题 | ||
| <center> | HTML 5 中不支持。定义居中的文本 | ||
| <cite> | 定义引用 | ||
| <code> | 定义计算机代码文本 | ||
| <col> | 定义表格列的属性 | ||
| <colgroup> | 定义表格列的分组 | ||
| <command> | 定义命令按钮 | ||
| <datalist> | 定义下拉列表 | ||
| <dd> | 定义的描述 | ||
| <del> | 定义删除文本 | ||
| <details> | 定义元素的细节 | ||
| <dfn> | 定义定义项目 | ||
| <dir> | HTML 5 中不支持。定义目录列表 | ||
| <div> | 定义文档中的一个部分 | ||
| <dl> | 定义定义列表 | ||
| <dt> | 定义定义的项目 | ||
| <em> | 定义强调文本 | ||
| <embed> | 定义外部交互内容或插件 | ||
| <fieldset> | 定义fieldset元素 | ||
| <figcaption> | 定义figure元素的标题 | ||
| <figure> | 定义媒介内容的分组,以及它们的标题 | ||
| <font> | HTML 5 中不支持 | ||
| <footer> | 定义 section或page的页脚 | ||
| <form> | 定义表单 | ||
| <frame> | HTML 5 中不支持。定义子窗口(框架) | ||
| <frameset> | HTML 5 中不支持。定义框架的集 | ||
| <h1>-<h6> | 定义标题1到标题6 | ||
| <head> | 定义关于文档的信息 | ||
| <header> | 定义 section或page的页眉 | ||
| <hgroup> | 定义有关文档中的 section的信息 | ||
| <hr> | 定义水平线 | ||
| <html> | 定义 html文档 | ||
| <i> | 定义斜体文本 | ||
| <iframe> | 定义行内的子窗口(框架) | ||
| <img> | 定义图像 | ||
| <input> | 定义输入域 | ||
| <ins> | 定义插入文本 | ||
| <keygen> | 定义生成密钥 | ||
| <isindex> | HTML 5 中不支持。定义单行的输入域 | ||
| <kbd> | 定义键盘文本 | ||
| <label> | 定义表单控件的标注 | ||
| <legend> | 定义 fieldset中的标题 | ||
| <li> | 定义无序列表的项目 | ||
| <link> | 定义资源引用 | ||
| <map> | 定义图像映射 | ||
| <mark> | 定义有记号的文本 | ||
| <menu> | 定义菜单列表 | ||
| <meta> | 定义元信息 | ||
| <meter> | 定义预定义范围内的度量 | ||
| <nav> | 定义导航链接 | ||
| <noframes> | HTML 5 中不支持。定义 noframe 部分 | ||
| <noscript> | 定义 noscript 部分 | ||
| <object> | 定义嵌入对象 | ||
| <ol> | 定义有序列表 | ||
| <optgroup> | 定义选项组 | ||
| <option> | 定义下拉列表中的选项 | ||
| <output> | 定义输出的一些类型 | ||
| <p> | 定义段落 | ||
| <param> | 为对象定义参数 | ||
| <pre> | 定义预格式化文本 | ||
| <progress> | 定义任何类型的任务的进度 | ||
| <q> | 定义短的引用 | ||
| <rp> | 定义若浏览器不支持 ruby元素显示的内容 | ||
| <rt> | 定义 ruby注释的解释 | ||
| <ruby> | 定义 ruby注释 | ||
| <s> | HTML5中不支持。定义加删除线的文本 | ||
| <samp> | 定义样本计算机代码 | ||
| <script> | 定义脚本 | ||
| <section> | 定义 section元素 | ||
| <select> | 定义可选列表 | ||
| <small> | 定义小号文本 | ||
| <source> | 定义媒介源 | ||
| <span> | 定义 span元素 | ||
| <strike> | HTML 5 中不支持。定义加删除线的文本 | ||
| <strong> | 定义强调文本 | ||
| <style> | 定义样式定义 | ||
| <sub> | 定义下标文本 | ||
| <summary> | 定义 details元素的标题 | ||
| <sup> | 定义上标文本 | ||
| <table> | 定义表格 | ||
| <tbody> | 定义表格的主体 | ||
| <td> | 定义表格单元 | ||
| <textarea> | 定义 textarea元素 | ||
| <tfoot> | 定义表格的脚注 | ||
| <th> | 定义表头 | ||
| <thead> | 定义表头 | ||
| <time> | 定义日期/时间 | ||
| <title> | 定义文档的标题 | ||
| <tr> | 定义表格行 | ||
| <tt> | HTML 5 中不支持。定义打字机文本 | ||
| <u> | HTML 5 中不支持。定义下划线文本 | ||
| <ul> | 定义无序列表 | ||
| <var> | 定义变量 | ||
| <video> | 定义视频 | ||
| <xmp> | HTML 5 中不支持。定义预格式文本 | 
HTML5正在改变Web
HTML5是近十年来Web标准最巨大的飞跃。和以前的版本不同,HTML5并非仅仅用来表示Web内容,它的使命是将Web带入一个成熟的应用平台,在这个平台上,视频,音频,图象,动画,以及同电脑的交互都被标准化。尽管HTML5的实现还有很长的路要走,但HTML5正在改变Web。
HTML5将带来什么?以下是HTML5草案中最激动人心的部分:
全新的更合理的Tag,多媒体对象将不再全部绑定在object或embed Tag中,而是视频有视频的Tag,音频有音频的Tag。本地数据库。这个功能将内嵌一个本地的 SQL 数据库,以加速交互式搜索,缓存以及索引功能。同时,那些离线Web程序也将因此获益匪浅。不需要插件的富动画。Canvas对象将给浏览器带来直接在上面绘制矢量图的能力,这意味着我们可以脱离Flash和Silverlight,直接在浏览器中显示图形或动画。一些最新的浏览器,除了IE,已经开始支持Canvas。浏览器中的真正程序。将提供API实现浏览器内的编辑,拖放,以及各种图形用户界面的能力。内容修饰Tag将被剔除,而使用CSS。理论上讲,HTML5是培育新Web标准的土壤,让各种设想在他的组织者之间分享。
 
                                    
                                     
                                    
                                     
                                    
                                    