html5百度百科

来源:互联网 发布:windows核心编程 源码 编辑:程序博客网 时间:2024/05/17 06:19

HTML5是用于取代1999年所制定的 HTML 4.01 和 XHTML 1.0 标准的 HTML 标准版本,现在仍处于发展阶段,但大部分浏览器已经支持某些 HTML5 技术。HTML 5有两大特点:首先,强化了 Web 网页的表现性能。其次,追加了本地数据库等 Web 应用的功能。广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。它希望能够减少浏览器对于需要插件的丰富性网络应用服务(plug-in-based rich internet application,RIA),如Adobe Flash、Microsoft Silverlight,与Oracle JavaFX的需求,并且提供更多能有效增强网络应用的标准集。

目录

简介
特性
优点
  1. 网络标准
  2. 多设备、跨平台
  3. 即时更新
游戏盈利解决方案
沿革
  1. 重要标记
  2. 程序接口
  3. 元素变化
  4. 异常处理
优势
标签
  1. 事件属性
  2. 标签属性
争议
展开
简介
特性
优点
  1. 网络标准
  2. 多设备、跨平台
  3. 即时更新
游戏盈利解决方案
沿革
  1. 重要标记
  2. 程序接口
  3. 元素变化
  4. 异常处理
优势
标签
  1. 事件属性
  2. 标签属性
争议
展开

编辑本段简介

  HTML标准自1999年12月发布的 HTML 4.01 后,后继的 HTML 5 和其它标准被束之高阁,为了推动Web标准化运动的发展,一些公司联合起来,成立了一个叫做 Web Hypertext Application Technology Working Group (Web 超文本应用技术工作组 -WHATWG) 的组织。WHATWG 致力于 Web 表单和应用程序,而 W3C(World Wide Web Consortium,万维网联盟) 专注于 XHTML 2.0。在 2006 年,双方决定进行合作,来创建一个新版本的 HTML。[1]
  HTML5草案的前身名为 Web Applications 1.0,于2004年被 WHATWG 提出,于2007年被 W3C 接纳,并成立了新的 HTML 工作团队。
  HTML 5 的第一份正式草案已于2008年1月22日公布。HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。
  支持的浏览器包括Firefox,IE9,Chrome,Safari,Opera等。

编辑本段特性

  A. 语义特性(Class:Semantic)
  HTML5赋予网页更好的意义和结构。更加丰富的标签将随着对RDFa的,微数据与微格式等方面的支持,构建对程序、对用户都更有价值的数据驱动的Web。
  B. 本地存储特性(Class: OFFLINE & STORAGE)
  基于HTML5开发的网页APP拥有更短的启动时间,更快的联网速度,这些全得益于HTML5 APP Cache,以及本地存储功能。Indexed DB(html5本地存储最重要的技术之一) 和API说明文档。
  C. 设备兼容特性 (Class: DEVICE ACCESS)
  从Geolocation 功能的API文档公开以来,HTML5为网页应用开发者们提供了更多功能上的优化选择,带来了更多体验功能的优势。HTML5提供了前所未有的数据与应用接入开放接口。使外部应用可以直接与浏览器内部的数据直接相连,例如视频影音可直接与microphones及摄像头相联
  D. 连接特性(Class: CONNECTIVITY)
  更有效的连接工作效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流得到了实现。HTML5拥有更有效的服务器推送技术,Server-Sent Event和WebSockets就是其中的两个特性,这两个特性能够帮助我们实现服务器将数据’推送’到客户端的功能。
  E. 网页多媒体特性(Class: MULTIMEDIA)
  支持网页端的Audio、Video等多媒体功能, 与网站自带的APPS,摄像头,影音功能相得益彰。
  F. 三维、图形及特效特性(Class: 3D, Graphics & Effects)
  基于SVG、Canvas、WebGL及CSS3的3D功能,用户会惊叹于在浏览器中,所呈现的惊人视觉效果。
  G. 性能与集成特性(Class: Performance & Integration)
  没有用户会永远等待你的Loading——HTML5会通过XMLHttpRequest2等技术,帮助您的Web应用和网站在多样化的环境中更快速的工作。
  H. CSS3特性(Class: CSS3)
  在不牺牲性能和语义结构的前提下,CSS3中提供了更多的风格和更强的效果。此外,较之以前的Web排版,Web的开放字体格式(WOFF)也提供了更高的灵活性和控制性。

编辑本段优点

网络标准

  HTML5本身是由W3C推荐出来的,它的开发是通过谷歌、苹果,诺基亚、中国移动等几百家公司一起酝酿的技术,这个技术最大的好处在于它是一个公开的技术。换句话说,每一个公开的标准都可以根据W3C的资料库找寻根源。另一方面,W3C通过的HTML5标准也就意味着每一个浏览器或每一个平台都会去实现。

多设备、跨平台

  用HTML5的优点在于,这个技术可以进行跨平台的使用。比如你开发了一款HTML5的游戏,你可以很轻易地移植到UC的开放平台、Opera的游戏中心、Facebook应用平台,甚至可以通过封装的技术发放到App Store或Google Play上,所以它的跨平台非常强大,也是大多数人对HTML5有兴趣的主要原因。[1]

即时更新

  游戏客户端每次都要更新,很麻烦。可是更新HTML5游戏就好像更新页面一样,是马上的、即时的更新。

编辑本段游戏盈利解决方案

  第一个解决方案,现有的盈利模式可以移植到HTML5.今天游戏通过跟苹果App Store分成赚钱,其实HTML5的模式也可以通过封装把游戏放到App Store一样的分成赚钱。
  第二个解决方案,HTML5游戏可以“傍着”平台,比方说Opera的游戏平台或其它浏览器的平台,以及所谓云游戏的游戏平台,都是新的盈利模式的平台。
  第三个解决方案,在谈到HTML5游戏与原生应用的表现性能比时,开发者需要考虑清楚要做的究竟是怎样一款游戏,HTML5更适合轻量级的小游戏。而且HTML5在代码保密性方面并不弱于原生应用。[1]

编辑本段沿革

  HTML5提供了一些新的元素和属性,例如<nav>(网站导航块)和<footer>。这种标签将有利于搜索引擎的索引整理,同时更好的帮助小屏幕装置和视障人士使用,除此之外,还为其他浏览要素提供了新的功能,如<audio>和<video>标记。
  1.取消了一些过时的HTML4标记
  其中包括纯粹显示效果的标记,如<font>和<center>,它们已经被CSS取代。
  HTML5 吸取了XHTML2 一些建议,包括一些用来改善文档结构的功能,比如,新的HTML 标签 header, footer, dialog, aside, figure 等的使用,将使内容创作者更加语义地创建文档,之前的开发者在实现这些功能时一般都是使用div。
  2.将内容和展示分离
  b 和 i 标签依然保留,但它们的意义已经和之前有所不同,这些标签的意义只是为了将一段文字标识出来,而不是为了为它们设置粗体或斜体式样。u,font,center,strike 这些标签则被完全去掉了。
  3.一些全新的表单输入对象
  包括日期,URL,Email 地址,其它的对象则增加了对非拉丁字符的支持。HTML5 还引入了微数据,这一使用机器可以识别的标签标注内容的方法,使语义Web 的处理更为简单。总的来说,这些与结构有关的改进使内容创建者可以创建更干净,更容易管理的网页,这样的网页对搜索引擎,对读屏软件等更为友好。
  4.全新的,更合理的Tag
  多媒体对象将不再全部绑定在 object 或 embed Tag 中,而是视频有视频的Tag,音频有音频的 Tag。
  5.本地数据库
  这个功能将内嵌一个本地的SQL 数据库,以加速交互式搜索,缓存以及索引功能。同时,那些离线Web 程序也将因此获益匪浅。不需要插件的富动画。
  6.Canvas 对象
  将给浏览器带来直接在上面绘制矢量图的能力,这意味着用户可以脱离Flash 和Silverlight,直接在浏览器中显示图形或动画。
  7.浏览器中的真正程序
  将提供 API 实现浏览器内的编辑,拖放,以及各种图形用户界面的能力。内容修饰Tag 将被剔除,而使用CSS。
  8.Html5取代Flash在移动设备的地位。

重要标记

  <video>标记
  定义和用法:
  <video> 标签定义视频,比如电影片段或其他视频流。
  <audio> 标记
  定义和用法
  <audio> 标签定义声音,比如音乐或其他音频流。
  实例:
  一段简单的HTML 5 音频
  <audio src="someaudio.wav">
  您的浏览器不支持 audio 标签。
  </audio>
  <canvas> 标记
  定义和用法:
  <canvas> 标签定义图形,比如图表和其他图像。
  HTML5 的 canvas 元素使用JavaScript 在网页上绘制图像。
  画布是一个矩形区域,您可以控制其每一像素。
  canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
  实例:
  通过 canvas 元素来显示一个红色的矩形:
  <canvas id="myCanvas"></canvas>
  <script type="text/javascript">
  var canvas=document.getElementById('myCanvas');
  var ctx=canvas.getContext('2d');
  ctx.fillStyle='#FF0000';
  ctx.fillRect(0,0,80,100);
  </script>

程序接口

  除了原先的DOM接口,HTML5增加了更多API,如:
  1. 用于即时2D绘图的Canvas标签
  2. 定时媒体回放
  3. 离线数据库存储
  4. 文档编辑
  5. 拖拽控制
  6. 浏览历史管理

元素变化

  新的解析顺序新的元素:section, video, progress, nav, meter, time, aside, canvasinput
  元素的新属性:日期和时间,email, url。
  新的通用属性:ping, charset, async
  全域属性:id, tabindex, repeat。
  移除元素:center, font, strike。

异常处理

  HTML 5(text/html)浏览器将在错误语法的处理上更加灵活。HTML 5在设计时保证旧的浏览器能够安全的忽略掉新的HTML 5代码。与HTML 4.01相比,HTML 5给出了解析的详细规则,力图让不同的浏览器即使在发生语法错误时也能返回相同的结果。

编辑本段优势

  1.提高可用性和改进用户的友好体验;
  2.有几个新的标签,这将有助于开发人员定义重要的内容;
  3.可以给站点带来更多的多媒体元素(视频和音频);
  4.可以很好的替代FLASH和Silverlight;
  5.当涉及到网站的抓取和索引的时候,对于SEO很友好;
  6.将被大量应用于移动应用程序和游戏。

编辑本段标签

  按字母顺序排列的标签列表标签描述4: 指在HTML 4.01 中定义了该元素
5: 指在HTML 5 中定义了该元素<!--...-->定义注释45<!DOCTYPE>定义文档类型45<a>定义超链接45<abbr>定义缩写45<acronym>HTML 5 中不支持4 <address>定义地址元素45<applet>定义 applet(HTML 5 中不支持)4 <area>定义图像映射中的区域45<article>定义 article 5<aside>定义页面内容之外的内容 5<audio>定义声音内容 5<b>定义粗体文本45<base>定义页面中所有链接的基准URL45<basefont>HTML 5 中不支持,请使用CSS 代替4 <bdo>定义文本显示的方向45<big>定义大号文本(HTML 5 中不支持)4 <blockquote>定义长的引用45<body>定义 body 元素45<br>插入换行符45<button>定义按钮45<canvas>定义图形 5<caption>定义表格标题45<center>定义居中的文本(HTML 5 中不支持)4 <cite>定义引用45<code>定义计算机代码文本45<col>定义表格列的属性45<colgroup>定义表格列的分组45<command>定义命令按钮 5<datalist>定义下拉列表 5<dd>定义定义的描述45<del>定义删除文本45<details>定义元素的细节 5<dfn>定义定义项目45<dir>定义目录列表(HTML 5 中不支持)4 <div>定义文档中的一个部分45<dl>定义定义列表45<dt>定义定义的项目45<em>定义强调文本45<embed>定义外部交互内容或插件 5<fieldset>定义 fieldset45<figcaption>定义 figure 元素的标题 5<figure>定义媒介内容的分组,以及它们的标题 5<font>HTML 5 中不支持4 <footer>定义 section 或 page 的页脚 5<form>定义表单45<frame>定义子窗口(框架)(HTML 5 中不支持)4 <frameset>定义框架的集(HTML 5 中不支持)4 <h1> to <h6>定义标题1 到标题645<head>定义关于文档的信息45<header>定义 section 或 page 的页眉 5<hgroup>定义有关文档中的 section 的信息45<html>定义 html 文档45<i>定义斜体文本45<iframe>定义行内的子窗口(框架)45<img>定义图像45<input>定义输入域45<ins>定义插入文本45<keygen>定义生成密钥 5<isindex>定义单行的输入域(HTML 5 中不支持)4 <kbd>定义键盘文本45<label>定义表单控件的标注45<legend>定义 fieldset 中的标题45<li>定义列表的项目45<link>定义资源引用45<map>定义图像映射45<mark>定义有记号的文本45<menu>定义菜单列表45<meta>定义元信息45<meter>定义预定义范围内的度量 5<nav>定义导航链接 5<noframes>定义 noframe 部分(HTML 5 中不支持)4 <noscript>定义 noscript 部分45<object>定义嵌入对象45<ol>定义有序列表45<optgroup>定义选项组45<option>定义下拉列表中的选项45<output>定义输出的一些类型 5<p>定义段落45<param>为对象定义参数45<pre>定义预格式化文本45<progress>定义任何类型的任务的进度 5<q>定义短的引用45<rp>定义若浏览器不支持 ruby 元素显示的内容 5<rt>定义 ruby 注释的解释 5<ruby>定义 ruby 注释 5<s>定义加删除线的文本(HTML 5 中不支持)4 <samp>定义样本计算机代码45<script>定义脚本45<section>定义 section45<select>定义可选列表45<small>定义小号文本45<source>定义媒介源45<span>定义文档中的 section45<strike>定义加删除线的文本(HTML 5 中不支持)4 <strong>定义强调文本45<style>定义样式定义45<sub>定义下标文本45<summary>定义 details 元素的标题 5<sup>定义上标文本45按字母顺序排列的标签列表标签描述4: 指在HTML 4.01 中定义了该元素
5: 指在HTML 5 中定义了该元素<table>定义表格45<tbody>定义表格的主体45<td>定义表格单元45<textarea>定义 textarea45<tfoot>定义表格的脚注45<th>定义表头45<thead>定义表头45<time>定义日期/时间 5<title>定义文档的标题45<tr>定义表格行45<tt>定义打字机文本(HTML 5 中不支持)4 <u>定义下划线文本(HTML 5 中不支持)4 <ul>定义无序列表45<var>定义变量45<video>定义视频 5<xmp>定义预格式文本(HTML 5 中不支持)4 

事件属性

  事件属性属性值描述45HTML 5 元素可拥有事件属性,这些属性在浏览器中触发行为,比如当用户单击一个HTML 5元素时启动一段 JavaScript。下面列出的事件属性,可以把它们插入 HTML 标签来定义事件行为。
HTML 5 中的新事件属性:onabort, onbeforeunload, oncontextmenu, ondrag, ondragend, ondragenter, ondragleave, ondragover, ondragstart, ondrop, onerror, onmessage, onmousewheel, onresize, onscroll, onunload。4: 指在HTML 4.01 中定义了该元素
5: 指在HTML 5 中定义了该元素onabortscript 发生 abort 事件时运行脚本。 5onbeforeonloadscript 在元素加载前运行脚本。 5onblurscript 当元素失去焦点时运行脚本。45onchangescript当元素改变时运行脚本。45onclickscript在鼠标点击时允许脚本。45oncontextmenuscript 当菜单被触发时运行脚本。 5ondblclickscript当鼠标双击时运行脚本。45ondragscript 只要脚本在被拖动就允许脚本。 5ondragendscript 在拖动操作结束时运行脚本。 5ondragenterscript 当元素被拖动到一个合法的放置目标时,执行脚本。 5ondragleavescript 当元素离开合法的放置目标时。 5ondragoverscript 只要元素正在合法的放置目标上拖动时,就执行脚本。 5ondragstartscript 在拖动操作开始时执行脚本。 5ondropscript 当元素正在被拖动时执行脚本。 5onerrorscript 当元素加载的过程中出现错误时执行脚本。 5onfocusscript 当元素获得焦点时执行脚本。45onkeydownscript当按钮按下时执行脚本。45onkeypressscript当按键被按下时执行脚本。45onkeyupscript当按钮松开时执行脚本。45onloadscript当文档加载时执行脚本。45onmessagescript 当 message 事件触发时执行脚本。 5onmousedownscript当鼠标按钮按下时执行脚本。45onmousemovescript当鼠标指针移动时执行脚本。45onmouseoverscript当鼠标指针移动到一个元素上时执行脚本。45onmouseoutscript当鼠标指针移出元素时执行脚本。45onmouseupscript当鼠标按钮松开时执行脚本。45onmousewheelscript 当鼠标滚轮滚动时执行脚本。 5onresetscript 当表单重置时执行脚本。不支持。4 onresizescript 当元素调整大小时运行脚本。 5onscrollscript 当元素滚动条被滚动时执行脚本。 5onselectscript 当元素被选中时执行脚本。45onsubmitscript当表单提交时运行脚本。45onunloadscript当文档卸载时运行脚本。 5HTML 5不再支持的 HTML 4.01 属性:onreset。  

标签属性

  标签属性 属性值描述45HTML 5标签拥有属性。在每个标签的参考页中可以找到相应的特殊属性。这里列出的属性是通用于每个标签的核心属性和语言属性(有个别例外)。4: 指在HTML 4.01 中定义了该元素
5: 指在HTML 5 中定义了该元素acceskeya character设置访问一个元素的键盘快捷键。不支持。4 classclass_rule orstyle_rule元素的类名。45contenteditabletrue
false设置是否允许用户编辑元素。 5contentextmenuid of a menu element给元素设置一个上下文菜单。 5dirltr
rtl设置文本方向。45draggabletrue
false
auto设置是否允许用户拖动元素。 5idid_name元素的唯一 id。45irrelevanttrue
false设置元素是否相关。不显示非相关的元素。 5langlanguage_code设置语言码。45refurl or elementID引用另一个文档或本文档上另一个位置。仅在 template 属性设置时使用。 5registrationmarkregistration mark为元素设置拍照。可规定于任何 <rule> 元素的后代元素,除了 <nest> 元素。 5stylestyle_definition行内的样式定义。45tabindexnumber设置元素的 tab 顺序。45templateurl or elementID引用应该应用到该元素的另一个文档或本文档上另一个位置。 5titletooltip_text 显示在工具提示中的文本。45HTML 5 标签中的新属性有:contenteditable, contextmenu, draggable, irrelevant, ref,registrationmark, template
HTML 5 中不再支持的属性:accesskey  

编辑本段争议

  HTML5在诞生之后,就树立了一个原则,那就是所有的技术必须是开放的,不准有专利限制,在这期间Opera捐献了CSS技术,而Google则提供了视频格式WebM。
  目前可以说大部分的HTML协议在众多网络技术公司中达成共识,但在视频格式方面,世界各大互联网公司正在为具体标准进行争论,这可能影响HTML5标准的分流。目前纷争的两大阵营分别是Opera、火狐、Google等,另一大阵营则由苹果公司领衔。而按照争论的视频格式,可以分为前者的WebM阵营和后者的MPEG阵营。
  WebM阵营认为MPEG格式目前是具有专利保护的,这违背了HTML5所有技术必须开放的原则。MPEG阵营则更多地是因为自身目前就在使用这种视频格式。
 
原创粉丝点击