什么是HTML5
设计目的
HTML5的设计目的是为了在移动设备上支持多媒体。新的语法特征被引进以支持这一点,如video、audio和canvas 标记。HTML5还引进了新的功能,可以真正改变用户与文档的交互方式,包括:
· 新的解析规则增强了灵活性
· 新属性
· 淘汰过时的或冗余的属性
· 一个HTML5文档到另一个文档间的拖放功能
· 离线编辑
· 信息传递的增强
· 详细的解析规则
· 多用途互联网邮件扩展(MIME)和协议处理程序注册
· 在SQL数据库中存储数据的通用标准(Web SQL)
HTML5在2007年被万维网联盟(W3C)新的工作组采用。这个工作组在2008年1月发布了HTML 5的首个公开草案。眼下,HTML5处于“呼吁审查”状态,W3C预期它将在2014年年底达到其最终状态。
特性
语义特性(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)
沿革
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在移动设备的地位。
9、其突出的特点就是强化了web页的表现性,追加了本地数据库,
规范
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,谷歌于2015年2月26日开始自动将Flash广告转换为HTML5格式,这可能会加速HTML5替代Flash的进程,但是这个转变的过程也不是一蹴而就的。
它新并不表示它安全
网络应用开发工程师们在学习新技术的同时需要时刻记住网络安全。 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.5MB数据。
阿伯克哈迪杰哈发现了一个绕过数据上限的方法,它创建了多个与用户访问过的网站链接的临时网站。由于多数浏览器不会计算这种偶然情况,所以二级网站也可以存储与主网站相同量的数据。通过大批生成这种网站,该漏洞便可向受影响的电脑加载海量数据。
在测试这一漏洞的过程中,阿伯克哈迪杰哈每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等,另一大阵营则由苹果公司领衔。
MPEG阵营认为WebM格式是具有专利保护的,这违背了HTML5所有技术必须开放的原则。MPEG阵营则更多地是因为自身就在使用这种视频格式。
发展趋势
HTML5规范开发完成时,将成为主流。
据统计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在代码保密性方面并不弱于原生应用。
第四个解决方案,前面3个都是以HTML5游戏或者应用的形式为赢利点,其实任何技术形态最终都是一样,本质上都是服务于人(包含个人、企业),只要能满足需求的业务组合都是盈利的方向,例如目前催生的微信网站、HTML5营销、HTML5外包[2] 等,都是满足现实需求的盈利方案
新元素
自1999年以后HTML 4.01 已经改变了很多,今天,在HTML 4.01中的几个已经被废弃,这些元素在HTML5中已经被删除或重新定义。
为了更好地处理今天的互联网应用,HTML5添加了很多新元素及功能,比如: 图形的绘制,多媒体内容,更好的页面结构,更好的形式 处理,和几个api拖放元素,定位,包括网页 应用程序缓存,存储,网络工作者,等。
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>
技术要点
重要标记
<video>标记
定义和用法:
</video> 标签定义视频,比如电影片段或其他视频流。
<audio> 标记
定义和用法
</audio> 标签定义声音,比如音乐或其他音频流。
实例:
一段简单的HTML5 音频
<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');
ctx.fillStyle='#FF0000';
ctx.fillRect(0,0,80,100);
</script>
程序接口
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标注的属性里加上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
|
<map>
|
定义图像映射
|
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>
|
定义打字机文本
|
4
|
5 |
<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
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的天下!
客户端 |
|
---|
应用 |
|
---|
平台 |
|
---|
基础设施 |
|
---|
类型 |
|
---|
技术 |
|
---|
标准 |
|
---|
- 参考资料
-
- 1. HTML5 .World Wide Web Consortium (W3C)
- 2. 关于H5外包、HTML5外、微信网站的解惑 .html5外包[引用日期2015-06-2]
词条标签:
中国通信学会 , 计算机术语 , 计算机学 , 科技 , 代码 , 互联网