什么是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标准的土壤,让各种设想在他的组织者之间分享。