HTML 5 是什么

HTML5是什么

HTML5简介:HTML5是什么?要回答这个问题,我们需要先了解一下HTML是什么。HTML的英文全称为Hyper Text Markup Language,即超文本标记语言。HTML5是HTML的一个新版本。HTML 不是一种编程语言,而是一种标记语言 (markup language)

HTML5草案的前身名为Web Applications 1.0。於2004年被WHATWG提出,於2007年被W3C接纳,并成立了新的HTML工作团队。在2008年1月22日,第一份正式草案已公布,预计将在2010年9月正式向公众推荐。WHATWG表示该规范是目前正在进行的工作,仍须多年的努力

目录:

  1. 简单的看看HTML是什么

  2. 为什么HTML5最近广受关注呢
  3. 标准改进
  4. 与HTML 4的不同之处
  5. HTML5的部分标记异常处理
  6. HTML 5 正在改变 Web
  7. 程序接口
  8. 事件属性
  9. 标签列表
  10. 用HTML5开发移动应用需要知道的一些东西

简单的看看HTML是什么

HTML是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分。

网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)。浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位。

HTML之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。所谓超级链接,就是一种URL指针,通过激活(点击)它,可使浏览器方便地获取新的网页。这也是HTML获得广泛应用的最重要的原因之一。

网页的本质就是HTML,通过结合使用其他的Web技术(如:脚本语言、CGI、组件等),可以创造出功能强大的网页。因而,HTML是Web编程的基础,也就是说万维网是建立在超文本基础之上的。

为什么HTML5最近广受关注?

在文章开头回答HTML5是什么这个问题时,我们已经说过HTML5是HTML的一个新版本,通常我们所说的HTML是指的HTML4版本,那么为什么HTML5最近广受关注呢?那时因为HTML5对HTML标准的改进、其本身的一些新特性将给我们带来变革性的影响,对下一代WEB开发、移动应用的开发等方面产生举足轻重的影响。但是WHATWG表示该规范是目前正在进行的工作,仍须多年的努力

HTML5提供了一些新的元素和属性,例如<nav>(网站导航块)和<footer>。这种标签将有利于搜索引擎的索引整理,同时更好的帮助小屏幕装置和视障人士使用,除此之外,还为其他浏览要素提供了新的功能,如<audio>和<video>标记。 一些过时的HTML4标记将被取消。其中包括纯粹显示效果的标记,如<font>和<center>,它们已经被CSS取代。由此也可以看出,单纯的HTML5不会产生什么震撼的效果,他必须好CSS,JavaScript结合使用,才能显示其划时代的效果。

如果你有兴趣,请继续看下面详细的介绍

标准改进

HTML5 吸取了XHTML 2 一些建议,包括一些用来改善文档结构的功能,比如,新的HTML 标签 header, footer, dialog, aside, figure 等的使用,将使内容创作者更加语义地创建文档,之前的开发者在这些场合是一律使用div 的。

HTML5 还包含了一些将内容和展示分离的努力,b 和 i 标签依然存在,但它们的意义已经和之前有所不同,这些标签的意义只是为了将一段文字标识出来,而不是为了为它们设置粗体或斜体式样。u,font,center,strike 这些标签则被完全去掉了。

新标准适用了一些全新的表单输入对象,包括日期,URL,Email 地址,其它的对象则增加了对非拉丁字符的支持。HTML5 还引入了微数据,一种使用机器可以识别的标签标注内容的方法,使语义Web 的处理更为简单。总的来说,这些与结构有关的改进使内容创建者可以创建更干净,更容易管理的网页,这样的网页对搜索引擎,对读屏软件等更为友好。

全新的,更合理的Tag,多媒体对象将不再全部绑定在 object 或 embed Tag 中,而是视频有视频的Tag,音频有音频的 Tag。

本地数据库。这个功能将内嵌一个本地的SQL 数据库,以加速交互式搜索,缓存以及索引功能。同时,那些离线Web 程序也将因此获益匪浅。不需要插件的富动画。

Canvas 对象将给浏览器带来直接在上面绘制矢量图的能力,这意味着我们可以脱离Flash 和Silverlight,直接在浏览器中显示图形或动画。一些最新的浏览器,除了 IE,已经开始支持Canvas。

浏览器中的真正程序。将提供 API 实现浏览器内的编辑,拖放,以及各种图形用户界面的能力。内容修饰Tag 将被剔除,而使用CSS。 

 

与HTML 4的不同之处

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


HTML 5有两大特点:
  首先,强化了Web网页的表现性能。除了可描绘二维图形外,还准备了用于播放视频和音频的标签。
  其次,追加了本地数据库等Web应用的功能。

HTML5的部分标记

<video>标记

<video> 标签定义视频,比如电影片段或其他视频流。

例子:

一段简单的HTML5 视频

<video src=”mymovie.ogg” controls=”controls”>

您的浏览器不支持 video 标签。

</video>

解释一下其中的.ogg格式:

ogg = 带有Thedora 视频编码和Vorbis 音频编码的Ogg 文件
         mp4 = 带有H.264 视频编码和AAC 音频编码的MPEG 4 文件。

<audio> 标记

<audio> 标签定义声音,比如音乐或其他音频流。

例子:

一段简单的HTML 5 音频

<audio src=”someaudio.wav”>

您的浏览器不支持 audio 标签。

</audio>

<canvas> 标记

<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>

什么是Canvas?

HTML5 的 canvas 元素使用JavaScript 在网页上绘制图像。

画布是一个矩形区域,您可以控制其每一像素。

canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

异常处理 

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

HTML 5 正在改变 Web

HTML5 是近十年来 Web 标准最巨大的飞跃。和以前的版本不同,HTML 5 并非仅仅用来表示 Web 内容,它的使命是将 Web 带入一个成熟的应用平台,在这个平台上,视频,音频,图象,动画,以及同电脑的交互都被标准化。尽管 HTML 5 的实现还有很长的路要走,但 HTML 5 正在改变 Web。
  HTML 最近的一次升级是1999年12月发布的 HTML 4.01。自那以后,发生了很多事。最初的浏览器战争已经结束,Netscape 灰飞烟灭,IE5 作为赢家后来又发展到 IE6, IE7。Mozilla Firefox 从 Netscape 的死灰中诞生,并跃居第二位。苹果和 Google 各自推出自己的浏览器,而小家碧玉的 Opera 仍然嘤嘤嗡嗡地活着,并以推动 Web 标准为己命。我们甚至在手机和游戏机上有了真正的 Web 体验,感谢 Opera,iPhone 以及 Google 已经推出的 Android。
  然而这一切,仅仅让 Web 标准运动变得更加混乱,HTML 5 和其它标准被束之高阁,结果,HTML 5 一直以来都是以草案的面目示人。
  于是,一些公司联合起来,成立了一个叫做 Web Hypertext Application Technology Working Group (Web 超文本应用技术工作组 – WHATWG) 的组织,他们将重新拣起 HTML 5。这个组织独立于 W3C,成员来自 Mozilla, KHTML/Webkit 项目组,Google,Apple,Opera 以及微软。尽管 HTML 5 草案不会在短期内获得认可,但 HTML 5 总算得以延续。
  HTML 5 将带来什么?以下是 HTML 5 草案中最激动人心的部分:
  全新的,更合理的 Tag,多媒体对象将不再全部绑定在 object 或 embed Tag 中,而是视频有视频的 Tag,音频有音频的 Tag。本地数据库。这个功能将内嵌一个本地的 SQL 数据库,以加速交互式搜索,缓存以及索引功能。同时,那些离线 Web 程序也将因此获益匪浅。不需要插件的富动画。Canvas 对象将给浏览器带来直接在上面绘制矢量图的能力,这意味着我们可以脱离 Flash 和 Silverlight,直接在浏览器中显示图形或动画。一些最新的浏览器,除了 IE,已经开始支持 Canvas。浏览器中的真正程序。将提供 API 实现浏览器内的编辑,拖放,以及各种图形用户界面的能力。内容修饰 Tag 将被剔除,而使用 CSS。理论上讲,HTML 5 是培育新 Web 标准的土壤,让各种设想在他的组织者之间分享,但 HTML 5 目前仍处于试验阶段。
  Mozilla 的技术副总裁 Mike Shaver 说,HTML 5 是一个被寄予厚望的概念,它既是 WHATWG 组织的实验田,又是 W3C 的标准之路。
  Shaver 认为,Mozilla 的兴趣和 WHATWG 实验相吻合,Mozilla 在 HTML 5 工作组中非常活跃,我们对一些早期的细则进行实验并将成熟的结果提交 W3C。
  在过去的几年,Mozilla 随着各种出现的新标准,推出多个富有前瞻性的项目,包括 Prism,一个用于离线运行 Web 程序的系统,以及 Weave,一个数据存储框架。
  Shaver 说,HTML 5 运动肇始于对 W3C 的不耐烦,Web 标准中的很多进展都因 W3C 将重点从 HTML 转移到 XML 而停滞不前。
  很多基于 XML 架构的新技术被设计出来替代 HTML,Shaver 说,这不是一条正确的道路,人们不应象黑瞎子掰玉米把样一边掰一边丢。
  HTML 5 的新实验在 Firefox 以及 基于 Webkit 的 Safari 和 Chrome 浏览器中逐渐得到强化,但仍有不少问题。
  Chrome 的开发者 Darin Fisher 说,Chrome 仍在襁褓中时,就不得不面临几个问题,尽管使用的是最新的 Webkit,HTML 5 的本地数据库功能在 Chrome 的初期版本中并没有实现。因为 Chrome 的沙箱机制和 Webkit 的数据库功能有冲突。
  而由于 Chrome 属于秘密开发,Chrome 的开发人员也不便参与 Webkit 的开发。
  我们要想保守 Chrome 的秘密,就无法参与 Webkit 社区。Fisher 说,我们很希望可以在某些方面给 Webkit 以帮助,我们拥有众多经验丰富的开发者,我们很想知道人们目前遇到的挑战并乐意提供帮助。
  随着 Chrome 的发布,Fisher 说他的团队成员有时会和 Webkit 的人一起吃饭,有些人私下里还成了好朋友。Fisher 称,他们迫切地想同其他 Webkit 开发组一起工作解决离线数据库的问题。
  Chrome 里面还包含Google 的开源 Gears 技术,用来实现与 HTML 5 类似的离线功能。
  Gears 可以看作已有 API 的替代品,Fisher 说,HTML 5 对新浏览器来说是非常好的东西,但绝大多数用户还使用旧浏览器。Gears 可以让那些旧浏览器也获得这样的 API,我们正在为 HTML 5 版 API 提供兼容。
  Gears 兼容性非常好,它正成为将 HTML 5 带向人们桌面的另外一条途径。
  目前,绝大多数工作由 Apple,Mozilla, Opera, Google 以及 Trolltech 展开。微软在干什么?IE 因其对 Web 标准的迟钝而闻名,更不要说 HTML 5。但 IE8 可能会做出改变。
  微软 IE 平台与 WHAT 工作组主席 Chris Wilson 在邮件中称,我们希望我们现在开始的工作可以在 HTML 工作组创建一套测试系统。Wilson 说,IE 开发组仍然对 HTML 5 的一些提议感到担忧。我觉得工作组的所有成员都会承认我们还有很多事要做。
  目前处于 Beta 版的 IE8,已经包含 HTML 5 的诸多新功能。它拥有一个跨文档消息系统,本地存储,以及一些离线事件来检测网络的中断。但还有些功能还未提上议程,如 Canvas。
  HTML 5 非常庞大,仍处在开发阶段,我认为浏览器厂商应当尽快达成一致,而每个浏览器的具体实现时间可以自己选择。Web 开发者和浏览器厂商会同意 Wilson 的下面这句话,这确切无疑是一个激动人心的时刻,我们希望看到 Web 成为新的应用平台。

程序接口

除了原先的DOM接口,HTML5增加了更多API, 如:

1. 用于即时2D绘图的Canvas标签

2. 定时媒体回放

3. 离线数据库存储

4. 文档编辑

5. 拖拽控制

6. 浏览历史管理

事件属性

HTML5 元素可拥有事件属性,这些属性在浏览器中触发行为,比如当用户单击一个HTML 5元素时启动一段 JavaScript。下面列出的事件属性,可以把它们入 HTML 标签来定义事件行为。 HTML5 中的新事件属性:onabort, onbeforeunload, oncontextmenu, ondrag, ondragend, ondragenter, ondragleave, ondragover, ondragstart, ondrop, onerror, onmessage, onmousewheel, onresize, onscroll, onunload。

标签列表

按字母顺序排列的标签列表

说明:

4: 指示在HTML 4.01 中定义了该元素

5: 指示在HTML 5 中定义了该元素

标签描述 4 5

<!–…–> 定义注释。4 5

<!DOCTYPE>定义文档类型。4 5

<a> 定义超链接。4 5

<abbr> 定义缩写。4 5

<acronym> HTML 5 中不支持。定义首字母缩写。4

<address> 定义地址元素。4 5

<applet> HTML 5 中不支持。定义 applet。4

<area> 定义图像映射中的区域。4 5

<article> 定义 article。 5

<aside> 定义页面内容之外的内容。 5

<audio> 定义声音内容。 5

<b> 定义粗体文本。4 5

<base> 定义页面中所有链接的基准URL。 4 5

<basefont> HTML 5 中不支持。请使用CSS 代替。4

<bdo> 定义文本显示的方向。4 5

<big> HTML 5中不支持。定义大号文本。4

<blockquote> 定义长的引用。4 5

<body> 定义 body 元素。4 5

<br> 插入换行符。4 5

<button> 定义按钮。4 5

<canvas> 定义图形。 5

<caption> 定义表格标题。4 5

<center> HTML 5 中不支持。定义居中的文本。4

<cite> 定义引用。4 5

<code> 定义计算机代码文本。4 5

<col> 定义表格列的属性。4 5

<colgroup> 定义表格列的分组。4 5

<command> 定义命令按钮。 5

<datalist> 定义下拉列表。 5

<dd> 定义定义的描述。4 5

<del> 定义删除文本。4 5

<details> 定义元素的细节。 5

<dfn>定义定义项目。4 5

<dir> HTML 5 中不支持。定义目录列表。4

<div> 定义文档中的一个部分。4 5

<dl> 定义定义列表。4 5

<dt> 定义定义的项目。4 5

<em> 定义强调文本。4 5

<embed> 定义外部交互内容或插件。 5

<fieldset> 定义 fieldset。4 5

<figcaption> 定义 figure 元素的标题。 5

<figure> 定义媒介内容的分组,以及它们的标题。 5

<font> HTML 5 中不支持。4

<footer> 定义 section 或 page 的页脚。 5

<form> 定义表单。4 5

<frame> HTML 5 中不支持。定义子窗口(框架)。4

<frameset> HTML 5 中不支持。定义框架的集。4

<h1> to <h6> 定义标题1 到标题6。 4 5

<head> 定义关于文档的信息。4 5

<header> 定义 section 或 page 的页眉。 5

<hgroup> 定义有关文档中的 section 的信息。 5

<hr> 定义水平线。4 5

<html> 定义 html 文档。4 5

<i> 定义斜体文本。4 5

<iframe> 定义行内的子窗口(框架)。4 5

<img> 定义图像。4 5

<input> 定义输入域。4 5

<ins> 定义插入文本。4 5

<keygen> 定义生成密钥。 5

<isindex> HTML 5 中不支持。定义单行的输入域。4

<kbd> 定义键盘文本。4 5

<label> 定义表单控件的标注。4 5

<legend> 定义 fieldset 中的标题。4 5

<li> 定义列表的项目。4 5

<link> 定义资源引用。4 5

<map> 定义图像映射。4 5

<mark> 定义有记号的文本。 5

<menu> 定义菜单列表。4 5

<meta> 定义元信息。4 5

<meter> 定义预定义范围内的度量。 5

<nav> 定义导航链接。 5

<noframes> HTML 5 中不支持。定义 noframe 部分。4

<noscript> 定义 noscript 部分。4 5

<object> 定义嵌入对象。4 5

<ol> 定义有序列表。4 5

<optgroup> 定义选项组。4 5

<option> 定义下拉列表中的选项。4 5

<output> 定义输出的一些类型。 5

<p> 定义段落。4 5

<param> 为对象定义参数。4 5

<pre> 定义预格式化文本。4 5

<progress> 定义任何类型的任务的进度。 5

<q> 定义短的引用。4 5

<rp> 定义若浏览器不支持 ruby 元素显示的内容。 5

<rt> 定义 ruby 注释的解释。 5

<ruby> 定义 ruby 注释。 5

<s> HTML 5 中不支持。定义加删除线的文本。4

<samp> 定义样本计算机代码。4 5

<script> 定义脚本。4 5

<section> 定义 section。 5

<select> 定义可选列表。4 5

<small> 定义小号文本。4 5

<source> 定义媒介源。 5

<span> 定义文档中的 section。4 5

<strike> HTML 5 中不支持。定义加删除线的文本。4

<strong> 定义强调文本。4 5

<style> 定义样式定义。4 5

<sub> 定义下标文本。4 5

<summary> 定义 details元素的标题。 5

<sup> 定义上标文本。4 5

<table> 定义表格。4 5

<tbody> 定义表格的主体。4 5

<td> 定义表格单元。4 5

<textarea> 定义 textarea。4 5

<tfoot> 定义表格的脚注。4 5

<th> 定义表头。4 5

<thead> 定义表头。4 5

<time> 定义日期/时间。 5

<title> 定义文档的标题。4 5

<tr> 定义表格行。4 5

<tt> HTML 5 中不支持。定义打字机文本。4

<u> HTML 5 中不支持。定义下划线文本。4

<ul> 定义无序列表。4 5

<var> 定义变量。4 5

<video> 定义视频。 5

<xmp> HTML 5 中不支持。定义预格式文本。4

用HTML5开发移动应用需要知道的一些东西

pinch/zoom公司曾帮助一些知名的大牌企业创建了移动应用,该公司的开发人员一直在研究如何使用HTML5,他们提出了一个有趣的问题:“HTML5可以找到工作,但是它可以胜任工作吗?

这个问题的答案是肯定的。但用HTML5开发移动应用并不像很多开发人员想的那么容易。布赖恩·富宁(Brian Fling)是pinch/zoom的开发人员,也是一本移动应用开发畅销书的作者,他在pinch/zoom博客Swipe上发表了一篇名为《对一个HTML5移动应用的解剖》的文章,试图回答这个问题。文中富宁谈到了开发人员事先要做什么准备,开发过程中存在什么陷阱,以及为什么HTML5如此困难。

HTML5很像HTML,只是更高级一些。如果没有JavaScript和CSS,HTML5就什么也不是了。设备检测、脱机数据、JavaScript工具、测试、调试和主题这些问题都需要方便的手头工具来解决。

开发人员面临的最大挑战之一是要充分理解的Javascript, 从最基本的代码开始。很多开发人员没有像Prototype、MooTools、jQuery或Scriptaculous这样的框架的帮助就写不了Javascript。这不是太大的问题,如果一个应用包含的仅仅是功能和主题的话。但Web应用和使用HTML5代码存在数据和多重设备方面的需要,这意味着,如果开发人员不知道在Javascript中应该寻找什么东西的话,要排除Web应用的故障可能会非常困难。创建HTML5应用中需要用到的JavaScript栈分为3个部分:hybrid、core和device scripts。然后富宁谈到CSS。他将CSS比喻为一辆车的牌子、型号、内饰和对细节的关注。

金牌狙击手

52html5是一个web前端|html5资源平台,为广大html5开发者及爱好者提供html5相关的教程、资讯、html5游戏、html5教程等,并涉及css3、javascript前端知识。