HTML 5有两大特点:首先,强化了 Web 网页的表现性能。其次,追加了本地数据库等 Web 应用的功能。广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。它希望能够减少 浏览器对于需要 插件的丰富性网络应用服务(plug-in-based rich internet application,RIA),如Adobe Flash、Microsoft Silverlight,与Oracle JavaFX的需求,并且提供更多能有效增强网络应用的标准集。
标签
按字母顺序排列的标签列表 | |||
标签 | 描述 |
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> | 定义打字机文本(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 |
语义特性(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)
它可能会消灭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允许开发者在(移动)浏览器内开发应用,所以如果你正在制定一项桌面或者移动应用的长期发展策略,你可能需要考虑这一点。
1、移动优先
从如今层出不穷的移动应用就知道,在这个智能手机和将平板电脑大爆炸的时代,移动优先已成趋势,不管是开发什么,都以移动为主。
2、游戏开发者领衔“主演”
许多游戏开发商都被Facebook或者Zynga推动着发展,而未来的Facebook应用生态系统是基于HTML5的,尽管在HTML 5平台开发出游戏非常困难,但游戏开发商却都愿意那么做。通过PhoneGap及appmobi的XDK将Web应用游戏打包整合到原生应用中也是一种方式,Facebook差不多就这么干的——基于Web应用及浏览器,但却将之打包整合进原生应用。