标准通用标记语言下的一个应用
HTML标准自1999年12月发布的HTML4.01后,后继的HTML5和其它标准被束之高阁,为了推动
Web标准化运动的发展,一些公司联合起来,成立了一个叫做 Web Hypertext Application Technology Working Group (Web
超文本应用技术工作组 -
WHATWG) 的组织。WHATWG 致力于 Web 表单和应用程序,而
W3C(World Wide Web Consortium,
万维网联盟) 专注于
XHTML2.0。在 2006 年,双方决定进行合作,来创建一个新版本的 HTML。
[2]
HTML5草案的前身名为 Web Applications 1.0,于2004年被
WHATWG提出,于2007年被
W3C接纳,并成立了新的 HTML 工作团队。
HTML 5 的第一份正式草案已于2008年1月22日公布
[3]。HTML5 仍处于完善之中。然而,大部分
现代浏览器已经具备了某些 HTML5 支持。
2012年12月17日,
万维网联盟(W3C)正式宣布凝结了大量网络工作者心血的HTML5规范已经正式定稿
[4]。根据W3C的发言稿称:“HTML5是开放的Web网络平台的奠基石。”
2013年5月6日, HTML 5.1
[5]正式草案公布。该规范定义了第五次重大版本,第一次要修订
万维网的核心语言:超文本标记语言(HTML)。在这个版本中,新功能不断推出,以帮助Web应用程序的作者,努力提高新元素互操作性。
本次草案的发布,从2012年12月27日至今,进行了多达近百项的修改,包括HTML和XHTML的标签,相关的API、Canvas等,同时
HTML5的图像img标签及svg也进行了改进,性能得到进一步提升。
在移动设备开发HTML5应用只有两种方法,要不就是全使用HTML5的语法,要不就是仅使用JavaScript引擎。
JavaScript引擎的构建方法让制作手机网页游戏成为可能。由于界面层很复杂,已预订了一个UI工具包去使用。
纯HTML5手机应用运行缓慢并错漏百出,但优化后的效果会好转。尽管不是很多人愿意去做这样的优化,但依然可以去尝试。
HTML5手机应用的最大优势就是可以在网页上直接调试和修改。原先应用的开发人员可能需要花费非常大的力气才能达到HTML5的效果,不断地重复编码、调试和运行,这是首先得解决的一个问题。因此也有许多手机杂志客户端是基于HTML5标准,开发人员可以轻松调试修改。
特性
语义特性(Class:Semantic)
本地存储特性(Class: OFFLINE & STORAGE)
基于HTML5开发的网页
APP拥有更短的启动时间,更快的联网速度,这些全得益于HTML5 APP Cache,以及本地存储功能。Indexed DB(html5本地存储最重要的技术之一)和
API说明文档。
设备兼容特性 (Class: DEVICE ACCESS)
从
Geolocation功能的API文档公开以来,HTML5为网页应用开发者们提供了更多功能上的优化选择,带来了更多体验功能的优势。HTML5提供了前所未有的数据与
应用接入开放接口。使外部应用可以直接与浏览器内部的数据直接相连,例如视频影音可直接与microphones及摄像头相联。
连接特性(Class: CONNECTIVITY)
更有效的连接工作效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流得到了实现。HTML5拥
有更有效的服务器推送技术,Server-Sent
Event和WebSockets就是其中的两个特性,这两个特性能够帮助我们实现服务器将数据“推送”到
客户端的功能。
网页多媒体特性(Class: MULTIMEDIA)
支持网页端的Audio、Video等多媒体功能, 与网站自带的APPS,
摄像头,影音功能相得益彰。
三维、图形及特效特性(Class: 3D, Graphics & Effects)
基于SVG、Canvas、WebGL及CSS3的3D功能,用户会惊叹于在浏览器中,所呈现的惊人视觉效果。
性能与集成特性(Class: Performance & Integration)
没有用户会永远等待你的Loading——HTML5会通过XMLHttpRequest2等技术,解决以前的跨域等问题,帮助您的Web应用和网站在多样化的环境中更快速的工作。
CSS3特性(Class: CSS3)
在不牺牲性能和语义结构的前提下,
CSS3中提供了更多的风格和更强的效果。此外,较之以前的Web排版,Web的开放字体格式(
WOFF)也提供了更高的灵活性和控制性。
沿革
HTML5
提供了一些新的元素和属性,例如<nav>(网站导航块)和<footer>。这种标签将有利于搜索引擎的索引整理,同时更好的
帮助小屏幕装置和视障人士使用,除此之外,还为其他浏览要素提供了新的功能,如<audio>和<video>标记。
其中包括纯粹显示效果的标记,如<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在移动设备的地位。
9、其突出的特点就是强化了web页的表现性,追加了本地数据库,
[3]规范
HTML5和Canvas 2D规范的制定已经完成,尽管还不能算是
W3C标准,但是这些规范已经功能完整,企业和开发人员有了一个稳定的执行和规划目标。
W3C首席执行官Jeff Jaffe表示:“从今天起,企业用户可以清楚地知道,他们能够在未来依赖
HTML5。”
HTML5是开放Web标准的基石,它是一个完整的编程环境,适用于跨平台应用程序、视频和动画、图形、风格、排版和其它数字内容发布工具、广泛的网络功能等等。
为了减少浏览器碎片、实现于所有HTML工具的应用,
W3C从今天开始着手W3C标准化的互操作性和测试。和之前宣布的规划一样,
W3C计划在2014年完成HTML5标准。
HTML工作组还发布了
HTML5.1、HTML Canvas 2D Context、Level 2以及主要元素的草案,让开发人员能提前预览下一轮标准。
应用须知
它可能会消灭Flash
许多业内人士表示,HTML将会最终代替多媒体框架,如Adobe的Flash,但是短期看来还不是时候。
HTML5估计到2014年才能逐步成熟,而且将现有应用Flash的网络开发完全转向HTML5还需要一段时间。尽管HTML5提出了许多优点,但是还
可能有某些应用更适合于更灵活的框架。一些主流的大公司都逐步转向使用HTML5,但是这个转变的过程也不是一蹴而就的。
它新并不表示它安全
网络应用开发工程师们在学习新技术的同时需要时刻记住网络安全。HTML5所构建的网页和其他语言编写的网页一样容
易泄露一些敏感数据。欧洲网络信息安全机构(European Network and Information Security
Agency,ENISA)已经警告说HTML5可能并不够安全。
它承诺带来一个无缝的网络
HTML5会带来一个统一的网络,无论是笔记本,台式机,还是智能手机都应该很方便的浏览基于HTML5的网站。因此在设计网站的时候,开发者需要重新考虑用户体验,网站浏览,网站结构等因素使得这个网站对任何硬件设备都通用。
它会变成企业的SaaS平台
一些重量级的企业,如微软,Salesforce,SAP Sybase正在开发HTML5的开发工具。如果你正在构建企业应用,很可能不久的将来你就要用到HTML5。所以当构建公司的SaaS战略迁移的时候也不要忘记
HTML5。
它将会变得很移动
几乎所有人都热衷于开发独立的移动应用,但是
HTML5很可能会是独立移动应用的终结者。由于
HTML5将应用的功能直接加入其内核,这很可能引导移动技术潮流重新回到浏览器时代。
HTML5允许开发者在(移动)浏览器内开发应用,所以如果你正在制定一项桌面或者移动应用的长期发展策略,你可能需要考虑这一点。
漏洞
2013年3月,
HTML5标记语言的一个
漏洞被发现:它允许网站利用数
GB垃圾数据对用户展开轰炸,甚至会在短时间内将硬盘塞满。多款主流浏览器均会受此影响。
一位名叫菲罗斯·阿伯克哈迪杰哈(Feross Aboukhadijeh)的开发者率先发现了这一漏洞,他表示,多数主流网络浏览器均会受到影响,包括苹果
Safari、谷歌
Chrome、微软IE和
Opera。唯一能够阻止数据大量加载的是
Mozilla的火狐浏览器,该产品的数据存储上限为5MB。
该问题的根源在于
HTML5存储本地数据的方式。虽然每个浏览器都有不同的存储参数,但很多都支持用户自定义限制,且至少会在用户电脑上存储2.5
MB数据。
阿伯克哈迪杰哈发现了一个绕过数据上限的方法,它创建了多个与用户访问过的网站链接的临时网站。由于多数浏览器不会计算这种偶然情况,所以二级网站也可以存储与主网站相同量的数据。通过大批生成这种网站,该漏洞便可向受影响的电脑加载海量数据。
在测试这一漏洞的过程中,阿伯克哈迪杰哈每16秒即可向他的
固态硬盘版MacBook
Pro中加载1GB数据。他指出,Chrome等32位浏览器可能会在硬盘塞满前崩溃。“一些采用高明代码的网站其实已经取消了用户电脑对数据存储的限
制。”阿伯克哈迪杰哈说。阿伯克哈迪杰哈已经发布一组代码来利用该漏洞,并创建了一个名为Filldisk的专用网站来凸显该漏洞的危害。
优点
网络标准
HTML5本身是由W3C推荐出来的,它的开发是通过
谷歌、
苹果,
诺基亚、
中国移动等几百家公司一起酝酿的技术,这个技术最大的好处在于它是一个公开的技术。换句话说,每一个公开的标准都可以根据W3C的资料库找寻根源。另一方面,W3C通过的HTML5标准也就意味着每一个浏览器或每一个平台都会去实现。
多设备跨平台
用HTML5的优点主要在于,这个技术可以进行跨平台的使用。比如你开发了一款HTML5的游戏,你可以很轻易地移植到UC的开放平台、Opera的游戏中心、
Facebook应用平台,甚至可以通过封装的技术发放到App Store或Google Play上,所以它的跨平台非常强大,也是大多数人对HTML5有兴趣的主要原因。
自适应网页设计
很早就有人设想,能不能”一次设计,普遍适用”,让同一张网页自动适应不同大小的屏幕,根据屏幕宽度,自动调整布局(layout)?
2010年,Ethan Marcotte提出了”自适应网页设计“这个名词,指可以自动识别屏幕宽度、并做出相应调整的网页设计。
这就解决了传统的一种局面——网站为不同的设备提供不同的网页,比如专门提供一个mobile版本,或者
iPhone /
iPad版本。这样做固然保证了效果,但是比较麻烦,同时要维护好几个版本,而且如果一个网站有多个portal(入口),会大大增加架构设计的复杂度。
即时更新
游戏客户端每次都要更新,很麻烦。可是更新HTML5游戏就好像更新页面一样,是马上的、即时的更新。
总结概括HTML5有以下优点:
1、提高可用性和改进用户的友好体验;
2、有几个新的标签,这将有助于开发人员定义重要的内容;
3、可以给站点带来更多的多媒体元素(视频和音频);
4、可以很好的替代FLASH和Silverlight;
5、当涉及到网站的抓取和索引的时候,对于
SEO很友好;
6、将被大量应用于移动应用程序和游戏;
7、可移植性好。
争议
可以说大部分的HTML协议在众多网络技术公司中达成共识,但在视频格式方面,世界各大互联网公司正在为具体标准进行争论,这可能影响HTML5标准的分流。纷争的两大阵营分别是
Opera、
火狐、
Google等,另一大阵营则由苹果公司领衔。
WebM阵营认为
MPEG格式是具有专利保护的,这违背了
HTML5所有技术必须开放的原则。
MPEG阵营则更多地是因为自身就在使用这种视频格式。
发展趋势
据统计2013年全球将有10亿手机浏览器支持
HTML5,同时HTML Web开发者数量将达到200万。毫无疑问,
HTML5将成为未来5-10年内,移动互联网领域的主宰者。
据
IDC的调查报告统计,截至2012年5月,有79%的移动开发商已经决定要在其应有程序中整 合HTML5技术。
12月,万维网联盟宣布已经完成对HTML5标准以及Canvas 2D性能草案的制定,这就意味着开发人员将会有一个稳定的“计划和实施”目标。有很多的文章都在号召使用
HTML5,并大力宣传它的的好处。此前,站长之家曾经做过一期调查,调查显示只有36.16%的站长正在学习中,另外的63.76%表示正在观望中。作为站长,你是否准备开始学习
HTML5?
从性能角度来说,
HTML5首先是缩减了
HTML文档,使这件事情变得更简单。第一,从用户可读性上说,原先一大堆东西,像初学者第一次看到这些东 西是看不懂的,而HTML5的声明方式对用户来说显然更友好一些。
未来趋势
1、移动优先
从如今层出不穷的移动应用就知道,在这个智能手机和将平板电脑大爆炸的时代,移动优先已成趋势,不管是开发什么,都以移动为主。
2、游戏开发者领衔“主演”
许多游戏开发商都被Facebook或者Zynga推动着发展,而未来的
Facebook应用生态系统是基于
HTML5的,尽管在HTML 5平台开发出游戏非常困难,但游戏开发商却都愿意那么做。通过PhoneGap及appmobi的XDK将Web应用游戏打包整合到原生应用中也是一种方式,
Facebook差不多就这么干的——基于Web应用及浏览器,但却将之打包整合进原生应用。
3、2014计划
2012年9月,W3C提出计划要在2014年底前发布一个HTML5推荐标准,并在2016年底前发布HTML5.1推荐标准。
盈利方案
第一个解决方案,现有的
盈利模式可以移植到HTML5,今天游戏开发者通过跟苹果App Store合作非常赚钱,其实HTML5的模式也可以通过封装把游戏放到App Store一样的分成赚钱。
第二个解决方案,HTML5游戏可以“傍着”平台,比方说Opera的游戏平台或其它浏览器的平台,以及所谓云游戏的游戏平台,都是新的盈利模式的平台。
第三个解决方案,在谈到HTML5游戏与原生应用的表现性能比时,开发者需要考虑清楚要做的究竟是怎样一款游戏,HTML5更适合轻量级的小游戏。而且HTML5在代码保密性方面并不弱于原生应用。
自1999年以后HTML 4.01 已经改变了很多,今天,在HTML 4.01中的几个已经被废弃,这些元素在HTML5中已经被删除或重新定义。
为了更好地处理今天的互联网应用,HTML5添加了很多新元素及功能,比如: 图形的绘制,多媒体内容,更好的页面结构,更好的形式 处理,和几个api拖放元素,定位,包括网页 应用程序缓存,存储,网络工作者,等。
[6]canvas
标签
| 描述
|
---|
<canvas>
| 标签定义图形,比如图表和其他图像。该标签基于 JavaScript 的绘图 API
|
多媒体
标签
| 描述
|
---|
<audio>
| 定义音频内容
|
<video>
| 定义视频(video 或者 movie)
|
<source>
| 定义多媒体资源 <video> 和 <audio>
|
<embed>
| 定义嵌入的内容,比如插件。
|
<track>
| 为诸如 <video> 和 <audio> 元素之类的媒介规定外部文本轨道。
|
表单
标签
| 描述
|
---|
<datalist>
| 定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。
|
<keygen>
| 规定用于表单的密钥对生成器字段。
|
<output>
| 定义不同类型的输出,比如脚本的输出。
|
语义和结构
HTML5提供了新的元素来创建更好的页面结构:
标签
| 描述
|
---|
<article>
| 定义页面的侧边栏内容
|
<aside>
| 定义页面内容之外的内容。
|
<bdi>
| 允许您设置一段文本,使其脱离其父元素的文本方向设置。
|
<command>
| 定义命令按钮,比如单选按钮、复选框或按钮
|
<details>
| 用于描述文档或文档某个部分的细节
|
<dialog>
| 定义对话框,比如提示框
|
<summary>
| 标签包含 details 元素的标题
|
<figure>
| 规定独立的流内容(图像、图表、照片、代码等等)。
|
<figcaption>
| 定义 <figure> 元素的标题
|
<footer>
| 定义 section 或 document 的页脚。
|
<header>
| 定义了文档的头部区域
|
<mark>
| 定义带有记号的文本。
|
<meter>
| 定义度量衡。仅用于已知最大和最小值的度量。
|
<nav>
| 定义运行中的进度(进程)。
|
<progress>
| 定义任何类型的任务的进度。
|
<ruby>
| 定义 ruby 注释(中文注音或字符)。
|
<rt>
| 定义字符(中文注音或字符)的解释或发音。
|
<rp>
| 在 ruby 注释中使用,定义不支持 ruby 元素的浏览器所显示的内容。
|
<section>
| 定义文档中的节(section、区段)。
|
<time>
| 定义日期或时间。
|
<wbr>
| 规定在文本中的何处适合添加换行符。
|
已移除的元素
以下的 HTML 4.01 元素在HTML5中已经被删除:
<acronym>
<applet>
<basefont>
<big>
<center>
<dir>
<font>
<frame>
<frameset>
<noframes>
<strike>
<tt>
3技术要点编辑
重要标记
定义和用法:
</video> 标签定义视频,比如电影片段或其他
视频流。
<audio> 标记
定义和用法
</audio> 标签定义声音,比如音乐或其他
音频流。
实例:
一段简单的HTML 5 音频
<audio src="">
您的浏览器不支持 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');
fillStyle='#FF0000';
fillRect(0,0,80,100);
</script>
程序接口
除了原先的DOM接口,HTML5增加了更多API,如:
1. 用于即时2D绘图的Canvas标签
2. 定时媒体回放
3. 离线数据库存储
5. 拖拽控制
6. 浏览历史管理
元素变化
新的解析顺序新的元素:section, video, progress, nav, meter, time, aside, canvasinput
元素的新属性:日期和时间,email, url。
新的通用属性:ping, charset, async
全域属性:id, tabindex, repeat。
移除元素:center, font, strike。
控件
就是Html标注的属性里加上runat="server"所构成的控件,至于Html标注和Html控件之间的区别很明显,Html控件是运行于服务器端,Html标注是运行于客户端。
基本Html控件有:HtmlTexArea\HtmlTable\HtmlImage\HtmlButton\HtmlSelect\HtmlForm\HtmlInput。
自定义的Html控件是根据自己的需求定义。当自主开发效率低,可以从技术社区、源码网站下载需要的控件。比如,需要插入table, image, links 等标签。不必自己开发,可以使用:ComponentOne Wijmo Editor等。
免费HTML5图表库——.Net图表控件Chart
FX,深受大家喜爱,相信大家已经非常熟悉了。不过慧都从Chart
FX的开发商SoftwareFX获得一个激动人心的消息:该公司已推出一套为HTML5,jQuery和JavaScript开发者设计的图表库——
jChartFX,而且jChartFX是免费的!
图表库
.Net图表控件Chart FX相信大家已经非常熟悉了。Chart FX的开发商SoftwareFX推出的一套为HTML5、jQuery和JavaScript开发者设计的免费HTML5图表库——jChartFX!
jChartFX亮点:
jChartFX充分利用了HTML5,CSS和SVG,让您能够在浏览器提供美观优越的图表和更丰富的最终用户体验。
jChartFX拥有很多令人振奋的功能,它在无插件纯JavaScript的浏览器上运行,这意味着在提高了网站安全性和速度的同时,最大程度的减少了网站服务器的负荷。
jChartFX还能够自动整合到jQuery UI ThemeRoller,自动读取并解释jQuery的主题和CSS文件,能够快速适应您的页面布局和设计,无需一行代码。
jChartFX支持JSON,JSON能够帮助您实现,任何数据源中的数据都可以展现到图表中。
jChartFX还支持超过40种的2D、3D图表类型,免费的图表控件中支持如此之多的图表展示类型实属难得。
标签
注:在下面表格中4: 指在HTML 4.01 中定义了该元素 5: 指在HTML 5 中定义了该元素
按字母顺序排列的标签列表标签
| 描述
| |
---|
<!--...-->
| 定义注释
| 4
| 5
|
<!DOCTYPE>
| 定义文档类型
| 4
| 5
|
<a>
| 定义超链接
| 4
| 5
|
<abbr>
| 定义缩写
| 4
| 5
|
<acronym>
| HTML 5 中不支持
| 4
| |
<address>
| 定义地址元素
| 4
| 5
|
<applet>
| 定义 applet(HTML 5 中不支持)
| 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 的信息
| 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
|
| 定义图像映射
| 4
| 5
|
<mark>
| 定义有记号的文本
| 4
| 5
|
<menu>
| 定义菜单列表
| 4
| 5
|
<meta>
| 定义元信息
| 4
| 5
|
<meter>
| 定义预定义范围内的度量
| | 5
|
<nav>
| 定义导航链接
| | 5
|
<noframes>
| 定义 noframe 部分(HTML 5 中不支持)
| 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
| 4
| 5
|
<select>
| 定义可选列表
| 4
| 5
|
<small>
| 定义小号文本
| 4
| 5
|
<source>
| 定义媒介源
| 4
| 5
|
<span>
| 定义文档中的 section
| 4
| 5
|
<strike>
| 定义加删除线的文本(HTML 5 中不支持)
| 4
| |
<strong>
| 定义强调文本
| 4
| 5
|
<style>
| 定义样式定义
| 4
| 5
|
<sub>
| 定义下标文本
| 4
| 5
|
<summary>
| 定义 details 元素的标题
| | 5
|
<sup>
| 定义上标文本
| 4
| 5
|
按字母顺序排列的标签列表标签
| 描述
| 4: 指在HTML 4.01 中定义了该元素
5: 指在HTML 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
| |
事件属性
HTML 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 中定义了该元素。
HTML 5不再支持的 HTML 4.01 属性:onreset。
事件属性属性
| 值
| 描述
| 4
| 5
|
---|
onabort
| script
| 发生 abort 事件时运行脚本。
| | 5
|
onbeforeonload
| script
| 在元素加载前运行脚本。
| | 5
|
onblur
| script
| 当元素失去焦点时运行脚本。
| 4
| 5
|
onchange
| script
| 当元素改变时运行脚本。
| 4
| 5
|
onclick
| script
| 在鼠标点击时允许脚本。
| 4
| 5
|
oncontextmenu
| script
| 当菜单被触发时运行脚本。
| | 5
|
ondblclick
| script
| 当鼠标双击时运行脚本。
| 4
| 5
|
ondrag
| script
| 只要脚本在被拖动就运行脚本。
| | 5
|
ondragend
| script
| 在拖动操作结束时运行脚本。
| | 5
|
ondragenter
| script
| 当元素被拖动到一个合法的放置目标时,执行脚本。
| | 5
|
ondragleave
| script
| 当元素离开合法的放置目标时。
| | 5
|
ondragover
| script
| 只要元素正在合法的放置目标上拖动时,就执行脚本。
| | 5
|
ondragstart
| script
| 在拖动操作开始时执行脚本。
| | 5
|
ondrop
| script
| 当元素正在被拖动时执行脚本。
| | 5
|
onerror
| script
| 当元素加载的过程中出现错误时执行脚本。
| | 5
|
onfocus
| script
| 当元素获得焦点时执行脚本。
| 4
| 5
|
onkeydown
| script
| 当按钮按下时执行脚本。
| 4
| 5
|
onkeypress
| script
| 当按键被按下时执行脚本。
| 4
| 5
|
onkeyup
| script
| 当按钮松开时执行脚本。
| 4
| 5
|
onload
| script
| 当文档加载时执行脚本。
| 4
| 5
|
onmessage
| script
| 当 message 事件触发时执行脚本。
| | 5
|
onmousedown
| script
| 当鼠标按钮按下时执行脚本。
| 4
| 5
|
onmousemove
| script
| 当鼠标指针移动时执行脚本。
| 4
| 5
|
onmouseover
| script
| 当鼠标指针移动到一个元素上时执行脚本。
| 4
| 5
|
onmouseout
| script
| 当鼠标指针移出元素时执行脚本。
| 4
| 5
|
onmouseup
| script
| 当鼠标按钮松开时执行脚本。
| 4
| 5
|
onmousewheel
| script
| 当鼠标滚轮滚动时执行脚本。
| | 5
|
onreset
| script
| 当表单重置时执行脚本。不支持。
| 4
| |
onresize
| script
| 当元素调整大小时运行脚本。
| | 5
|
onscroll
| script
| 当元素滚动条被滚动时执行脚本。
| | 5
|
onselect
| script
| 当元素被选中时执行脚本。
| 4
| 5
|
onsubmit
| script
| 当表单提交时运行脚本。
| 4
| 5
|
onunload
| script
| 当文档卸载时运行脚本。
| | 5
|
标签属性
HTML 5标签拥有属性。在每个标签的参考页中可以找到相应的特殊属性。这里列出的属性是通用于每个标签的核心属性和语言属性(有个别例外)。
4: 指在HTML 4.01 中定义了该元素
5: 指在HTML 5 中定义了该元素
HTML 5标签中的新属性有:contenteditable, contextmenu, draggable, irrelevant, ref,registrationmark, template
HTML 5 中不再支持的属性:accesskey
标签属性属性
| 值
| 描述
| 4
| 5
|
---|
acceskey
| a character
| 设置访问一个元素的键盘快捷键。不支持。
| 4
| |
class
| class_ruleorstyle_rule
| 元素的类名。
| 4
| 5
|
contenteditable
| true
false
| 设置是否允许用户编辑元素。
| | 5
|
contentextmenu
| id of a menu element
| 给元素设置一个上下文菜单。
| | 5
|
dir
| ltr
rtl
| 设置文本方向。
| 4
| 5
|
draggable
| true
false
auto
| 设置是否允许用户拖动元素。
| | 5
|
id
| id_name
| 元素的唯一 id。
| 4
| 5
|
irrelevant
| true
false
| 设置元素是否相关。不显示非相关的元素。
| | 5
|
lang
| language_code
| 设置语言码。
| 4
| 5
|
ref
| urlorelementID
| 引用另一个文档或文档上另一个位置。仅在 template 属性设置时使用。
| | 5
|
registrationmark
| registration mark
| 为元素设置拍照。可规定于任何 <rule> 元素的后代元素,
除了 <nest> 元素。
| | 5
|
style
| style_definition
| 行内的样式定义。
| 4
| 5
|
tabindex
| number
| 设置元素的 tab 顺序。
| 4
| 5
|
template
| urlorelementID
| 引用应该应用到该元素的另一个文档或本文档上另一个位置。
| | 5
|
title
| tooltip_text
| 显示在工具提示中的文本。
| 4
| 5
|
异常处理
HTML
5(text/html)浏览器将在错误语法的处理上更加灵活。HTML 5在设计时保证旧的浏览器能够安全的忽略掉新的HTML 5代码。与HTML
4.01相比,HTML 5给出了解析的详细规则,力图让不同的浏览器即使在发生语法错误时也能返回相同的结果。
优势
HTML5可以提供:
1.提高可用性和改进用户的友好体验;
2.有几个新的标签,这将有主(助?)开发人员定义重要的内容;
3.可以给站点带来更多的多媒体元素(视频和音频);
4.可以很好的替代FLASH和Silverlight;
5.当涉及到网站的抓取和索引的时候,对于
SEO很友好;
6.将被大量应用于移动应用程序和游戏。
因此,我们可以说HTML5有一天将使WEB更加的美好,但是有一天并不是现在。我们不能不提到重要的一点:迄今为
止,并没有什么流行的浏览器可以完
全的支持HTML5规范的所有功能。需要明确的是,今天的主流浏览器都将趋于支持HTML5,但是仍存在许多不完全的支持或兼容。
谷歌和HTML5
2010年5月22日,谷歌创建了一个涂鸦来纪念Pac
Man的视频游戏。这个涂鸦是一个动画,同时也是一个可以玩的Pac
Man的游戏。这个涂鸦就是谷歌通过使用HTML5标准制作的,当然谷歌也提供一个FLASH版本来支持不兼容HTML5的浏览器。我敢打赌,这是大多数
互联网网民第一次和HTML5的接触。对于个人来说,这是一个兴奋的消息。以我的观点,这个涂鸦提供了一个机会可以窥视未来互联网、网页、移动应用
软件和游戏等发展趋势。对于搜索引擎优化,他开辟了我更多的想象,它让我思考HTML5在SEO领域的潜力。网站转移到HTML5标准对于SEO有什么优势?
HTML
5开发领域的领军人物包括Sencha,Adobe,Appcelerator,appMobi及Facebook,亚马逊,Google三大巨头。不管
你是想开发出新型视频应用的开发商如Brightcover还是想开发新型音频应用的开发商如Soundcloud,不论是桌面应用还是移动应
用,HTML 5都是创新的主旋律。
HTML5与SEO
一:使搜索引擎更加容易抓取和索引
对于一些网站,特别是那些严重依赖于FLASH的网站HTML5是一个大福音。如果你有一个都是FLASH的站点,你就一定会看到切换到HTML5的 好处。首先,搜索引擎的蜘蛛将能够抓取你的站点和索引你的
内容。所有嵌入到动画中的内容将全部可以被搜索引擎读取。在搜索引擎优化的基本理论中,这一方面将会驱动你的网站获得更多的右击流量。
二:提供更多的功能,提高用户的友好体验
使用HTML5的另一个好处就是它可以增加更多的功能。对于HTML5的功能性问题,我们从全球几个主流站点对它的
青睐就可以看出。社交网络大亨Facebook已经推出他们期待已久的基于HTML5的iPad应用平台,潘多拉最近也推出他们基于HTML5的音乐播放
器的新版本。游戏平台
Zynga最近也在推出了三款新的在移动设备浏览器上运行的基于HTML5的游戏等等。每天都有不断的基于HTML5的网站和HTML5特性的网站被推
出。保持站点处于新技术的前沿,也可以很好的提高用户的友好体验。
三:可用性的提高,提高用户的友好体验
最后我们可以从可用性的
角度上
看,HTML5可以更好的促进用户于网站间的互动情况。多媒体网站可以获得更多的改进,特别是在移动平台上的应用,使用
HTML5可以提供更多高质量的视频和音频流。到目前为止,事实就是iPhone和iPad将不会支持FLASH,同时ADOBE公司也在近期公开声明将
停止FLASH基于移动平台的开发,现在我们已经可以这么说——移动平台日后视频音频是HTML5的天下!