- HTML5 将成为 HTML、XHTML 以及 HTML DOM 的新标准。
- HTML5 中的新特性应该是基于 HTML、CSS、DOM 以及 JavaScript 开发的,减少了对外部插件的需求(比如 Flash),有更优秀的错误处理,更多取代脚本的标记,HTML5 应该独立于设备。
- HTML5 中的一些新特性:
- 用于绘画的 canvas 元素
- 用于媒介回放的 video 和 audio 元素
- 对本地离线存储的更好的支持
- 新的特殊内容元素,比如 article、footer、header、nav、section
- 新的表单控件,比如 calendar、date、time、email、url、search
HTML5 新特性
html5 新增语义和结构标签
- 表示点击链接来下载对应文件,download 属性设置文件名。
<a href="url" download="filename.txt">
新多媒体元素
- <video> 标签,视频
<video> 标签定义视频,比如电影片段或其他视频流。 - <audio> 标签,音频
<audio> 标签定义声音,比如音乐或其他音频流。
Drag 和 drop 拖放
<canvas> 标签,画布
- Canvas 通过 JavaScript 来绘制 2D 图形。
- Canvas 是逐像素进行渲染的。
- 在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。
- <canvas> 标签定义图形,比如图表和其他图像。
- <canvas> 标签只是图形容器,必须使用脚本来绘制图形。
< svg>标签
- SVG 是一种使用 XML 描述 2D 图形的语言。
- SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。可以为某个元素附加 JavaScript 事件处理器。
- 在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。
Geolocation(地理定位)
getCurrentPosition() 方法 - 获取当前位置
客户端存储数据
- html5新增
- localStorage - 没有时间限制的数据存储,本地存储。
- sessionStorage - 阶段性数据存储,当前浏览窗口关闭,数据自动删除。
- 之前,这些都是由cookie 完成的。cookie 一般用来存储用户客户端信息,不适合大量数据的存储,大概只能存储4k。而且cookie在请求头部,信息会在服务器和客户端之间来回传输,降低整体的数据传输速度,除非用非域名请求。
- 应用程序缓存(Application Cache)
HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。- 应用程序缓存为应用带来三个优势:
- 离线浏览 - 用户可在应用离线时使用它们
- 速度 - 已缓存资源加载得更快
- 减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。
- 应用程序缓存为应用带来三个优势:
html5 表单
新的输入类型:
email
:e-mail 地址的输入域。在提交表单时,会自动验证 email 域的值。
url
:URL 地址的输入域。在提交表单时,会自动验证 url 域的值。
number
:数值的输入域。还能设定对所接受的数字的限定。
range
:一定范围内数字值的输入域。range 类型显示为滑动条。还能设定对所接受的数字的限定。
Date pickers (日期选择器):HTML5中可供选取日期和时间的新输入类型:date, month, week, time, datetime, datetime-local
。
date
- 选取日、月、年
month
- 选取月、年
week
- 选取周和年
time
- 选取时间(小时和分钟)
datetime
- 选取时间、日、月、年(UTC 时间)
datetime-local
- 选取时间、日、月、年(本地时间)
search
:search 类型用于搜索域,比如站点搜索或 Google 搜索。search 域显示为常规的文本域。
color
:用在input字段,主要用于选取颜色。比如从拾色器中选择一个颜色。
新的表单元素:
datalist
:datalist 元素规定输入域的选项列表。<datalist> 属性规定 form 或 input 域应该拥有自动完成功能。当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项。列表是通过 datalist 内的 option 元素创建的。如需把 datalist 绑定到输入域,请用输入域的 list 属性引用 datalist 的 id。option 元素永远都要设置 value 属性。
keygen
:用于表单的密钥对生成器字段。keygen 元素的作用是提供一种验证用户的可靠方法。keygen 元素是密钥对生成器(key-pair generator)。当提交表单时,会生成两个键,一个是私钥,一个公钥。私钥(private key)存储于客户端,公钥(public key)则被发送到服务器。公钥可用于之后验证用户的客户端证书(client certificate)。
output
:output 元素用于不同类型的输出,比如计算或脚本输出。
新的表单属性
新的 form 属性:
autocomplete
:autocomplete 属性规定 form 或 input 域应该拥有自动完成功能。autocomplete 适用于 <form> 标签,以及以下类型的 <input> 标签:text, search, url, telephone, email, password, datepickers, range 以及 color。当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项。
novalidate
:novalidate 属性规定在提交表单时不应该验证 form 或 input 域。novalidate 属性适用于 <form> 以及以下类型的 <input> 标签:text, search, url, telephone, email, password, date pickers, range 以及 color。
* 新的 input 属性:
autocomplete
autofocus
:autofocus 属性规定在页面加载时,域自动地获得焦点。autofocus 属性适用于所有 <input> 标签的类型。
form
:form 属性规定输入域所属的一个或多个表单。form 属性适用于所有 <input> 标签的类型。form 属性必须引用所属表单的 id。如需引用一个以上的表单,使用空格分隔的列表。
form overrides :表单重写属性(form override attributes)允许您重写 form 元素的某些属性设定。表单重写属性有:(表单重写属性适用于以下类型的 <input> 标签:submit 和 image。)
formaction - 重写表单的 action 属性
formenctype - 重写表单的 enctype 属性
formmethod - 重写表单的 method 属性
formnovalidate - 重写表单的 novalidate 属性
formtarget - 重写表单的 target 属性
height
和 width
:height 和 width 属性规定用于 image 类型的 input 标签的图像高度和宽度。height 和 width 属性只适用于 image 类型的 <input> 标签。
list
:list 属性规定输入域的 datalist。datalist 是输入域的选项列表。list 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email, date pickers, number, range 以及 color。
min
, max
和 step
:min、max 和 step 属性用于为包含数字或日期的 input 类型规定限定(约束)。max 属性规定输入域所允许的最大值。min 属性规定输入域所允许的最小值。step 属性为输入域规定合法的数字间隔(如果 step="3",则合法的数是 -3,0,3,6 等)。min、max 和 step 属性适用于以下类型的 <input> 标签:date pickers、number 以及 range。
multiple
:multiple 属性规定输入域中可选择多个值。multiple 属性适用于以下类型的 <input> 标签:email 和 file。
pattern (regexp)
:pattern 属性规定用于验证 input 域的模式(pattern)。模式(pattern) 是正则表达式。pattern 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email 以及 password。
placeholder
:placeholder 属性提供一种提示(hint),描述输入域所期待的值。placeholder 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email 以及 password。提示(hint)会在输入域为空时显示出现,会在输入域获得焦点时消失。
required
:required 属性规定必须在提交之前填写输入域(不能为空)。required 属性适用于以下类型的 <input> 标签:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。
已移除的元素
以下的 HTML 4.01 元素在HTML5中已经被删除:
<acronym>
<applet>
<basefont>
<big>
<center>
<dir>
<font>
<frame>
<frameset>
<noframes>
<strike>
<tt>
参考:
http://www.w3school.com.cn
https://www.imooc.com
https://www.runoob.com