HTML5是HTML最新的修订版本,由万维网同盟(W3C)于2014年10月完成标准制订。目标是取代1999年所制订的HTML 4.01和XHTML 1.0标准,以期能在网际网路运用迅速发展的时候,使网路标准达到符合当代的网路需求。广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技能组合。它希望能够减少网页浏览器对付须要外挂程式的丰富性网路运用做事(Plug-in-Based Rich Internet Application,RIA),例如:Adobe Flash、Microsoft Silverlight与Oracle JavaFX的需求,并且供应更多能有效加强网路运用的标准集。
HTML5添加了许多新的语法特色,个中包括<video>、<audio>和<canvas>元素,同时整合了SVG内容。这些元素是为了更随意马虎的在网页中添加和处理多媒体和图片内容而添加的。其它新的元素如<section>、<article>、<header>和<nav>则是为了丰富文档的数据内容。新的属性的添加也是为了同样的目的。同时也有一些属性和元素被移除掉了。一些元素,像<a>、<cite>和<menu>被修正,重新定义或标准化了。同时APIs和DOM已经成为HTML5中的根本部分了。HTML5还定义了处理造孽文档的详细细节,使得所有浏览器和客户端程序能够同等地处理语法缺点。
发展历史
网页超文本技能事情小组(WHATWG)于2004年开始制订新标准。在当时,HTML 4.01自2000年来没有更新,以及环球资讯网协会(W3C)正在将未来的发展重点放在XHTML 2.0。2009年,W3C许可XHTML 2.0事情组章程结束过期并且决定不再续订。W3C与WHATWG互助共同为发展HTML5而努力。
2004年6月,Mozilla基金会和Opera软体公司在环球资讯网协会(W3C)所主理的研讨会上提出了一份态度文件,其重点是开拓与现有浏览器向后相容的技能,包括Web Forms 2.0最初草案规范。研讨会末了以——8票附和,14票反对——反对连续对HTML的开拓事情。这引起一些人的不满,在研讨会之后,网页超文本技能事情小组(WHATWG)立即根据该态度文件成立,第二个草案,Web Applications 1.0也公布了。后来这两种规范合并形成HTML5。2007年,得到W3C收受接管,并成立了新的HTML事情团队。2008年1月22日,第一份公开事情草案发布。
只管HTML5已经在网络开拓职员中非常出名了,但是它成为主流媒体的一个话题是在2010年的4月,当时苹果公司的CEO乔布斯揭橥一篇题为“对Flash的思考”的文章,指出随着HTML5的发展,不雅观看影片或其它内容时,Adobe Flash将不再是必须的。这引发了开拓职员间的辩论,包括HTML5虽然供应了加强的功能,但开拓职员必须考虑到不同浏览器对标准不同部分的支持程度的不同,以及HTML5和Flash间的功能差异。
特点
标记
HTML5供应了一些新的元素和属性,反响范例的当代用法网站。个中有些是技能上类似<div>和<span>标签,但有一定含义,例如<nav>(网站导航块)和<footer>。这种标签将有利于搜索引擎的索引整理、小萤幕装置和视障人士利用。同时为其他浏览要素供应了新的功能,通过一个标准接口,如<audio>和<video>标记。一些过期的HTML 4.01标记将取消,个中包括纯粹用作显示效果的标记,如<font>和<center>,由于它们已经被CSS取代。还有一些透过DOM的网络行为。
只管和SGML在标记上的相似性,HTML5的句法并不再基于它了,而是被设计成向后兼容对老版本的HTML的解析。它有一个新的开始列看起来就像SGML的文档类型声明,<!DOCTYPE HTML>,这会触发和标准兼容的渲染模式。在2009年1月5日,HTML5添加了Web Form 2.0的内容,HTML5开始发展起来。
新的API
HTML5干系APIs
除了原来的DOM接口,HTML5增加了更多样化的运用程序接口(API):
Canvas
定时媒体播放
离线
可编辑内容
拖放
历史
MIME和协议处理程序时表头登记
微数据
网路讯息
网路存储
以上技能只管是WHATWG HTML解释文档的内容,但并没有全部包括在W3C HTML5的解释文档里。一些干系的技能,像下面所列的,并没有包括在这2份文档中的任何一份中。W3C给这些技能单独出版相识释文档。
地理位置
网页SQL数据库 ─ 本地SQL数据库(不再掩护)
IndexedDB
文件─ 处理文件上传和操纵文件
目录和文件系统 ─ 这个API是为了知足客户端在没有好的数据库支持情形下存储哀求
文件写入 ─ 从网络运用程序向文件里写内容
网路音频
ClassList
网路加密
WebRTC
一个普遍的误解是HTML5能够在网页中供应动画效果,这是不对的,动画效果是须要合营JavaScript和CSS。然而静态HTML5合营CSS可以表示出覆杂的排版构造而且原生增援与影片的稠浊与掌握(掌握一样平常由JavaScript实行),因此大略可以把HTML5单位韶光的状态理解为动画的关键影格。
XHTML5(XML-serialized HTML5)
XHTML5是对HTML5的XML序列化。XML文档必须被设置为XML互联网文件类型,像application/xhtml+xml或者application/xml。XHTML5哀求像XML一样严格的格式化的语法。在XHTML5中,HTML5的<!DOCTYPE HTML>可有可无的。
XHTML5并非XHTML的第5版,没有自己独立的标准规范,而是HTML5的一种序列化办法。XHTML1.x和2.0利用的名字是Extensible HyperText Markup Language,不同于XHTML5。
非常处理
HTML5在设计时担保旧的浏览器能够安全地忽略掉新的HTML5代码。与HTML4.01比较,HTML5给出理解析的完全规则,让不同的浏览器纵然在发生语法缺点时也能返回完备相同的结果。
遍及率
根据2011年9月30日发布的一份报告,环球排名前100的网站中有34个网站利用HTML5──紧张是征采引擎与社群网站。2013年8月发布的另一份报告显示,财富美国500强企业中已有多达153家采取HTML5。
HTML 4.01和XHTML 1.x的差异
以下为大略的不同之处,与例子:
文件类型声明(<!DOCTYPE>)仅有一型:<!DOCTYPE HTML>。
新的解析顺序:不再基于SGML。
新的元素:section, video, progress, nav, meter, time, aside, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, mark, output, rp, rt, ruby, source, summary, wbr。
input元素的新类型:date, email, url等等。
新的属性:ping(用于a与area), charset(用于meta), async(用于script)。
全域属性:id, tabindex, repeat。
新的全域属性:contenteditable, contextmenu, draggable, dropzone, hidden, spellcheck。
移除元素:acronym, applet, basefont, big, center, dir, font, frame, frameset, isindex, noframes, strike, tt。