新特性
HTML5 中的一些有趣的新特性:
• 用于绘画的canvas 元素
• 用于媒介回放的video 和audio 元素
• 对本地离线存储的更好的支持
• 新的特殊内容元素,比如article、footer、header、nav、section
• 新的表单控件,比如calendar、date、time、email、url、search
浏览器支持
最新版本的Safari、Chrome、Firefox 以及Opera 支持某些HTML5 特性。Internet Explorer
9 将支持某些HTML5 特性。
HTML 5 视频
许多时髦的网站都提供视频。HTML5 提供了展示视频的标准。
Web 上的视频
直到现在,仍然不存在一项旨在网页上显示视频的标准。
今天,大多数视频是通过插件(比如Flash)来显示的。然而,并非所有浏览器都拥有同样
的插件。
HTML5 规定了一种通过video 元素来包含视频的标准方法。
视频格式
当前,video 元素支持两种视频格式:
Internet Explorer Firefox 3.5 Opera 10.5Chrome 3.0 Safari 3.0
Ogg X X X
MPEG 4 X X
Ogg = 带有Thedora 视频编码和Vorbis 音频编码的Ogg 文件
MPEG4 = 带有H.264 视频编码和AAC 音频编码的MPEG 4 文件
如何工作
如需在HTML5 中显示视频,您所有需要的是:
<video src="movie.ogg"controls=“controls”>
control 属性供添加播放、暂停和音量控件。
包含宽度和高度属性也是不错的主意。
与 之间插入的内容是供不支持video 元素的浏览器显示的:
实例
<video src="movie.ogg"width=“320” height=“240” controls=“controls”>
Your browser does not support the video tag.
上面的例子使用一个Ogg 文件,适用于Firefox、Opera 以及Chrome 浏览器。
要确保适用于Safari 浏览器,视频文件必须是MPEG4 类型。
video 元素允许多个source 元素。source 元素可以链接不同的视频文件。浏览器将使用第
一个可识别的格式:
实例
<video width="320"height=“240” controls=“controls”>
Your browser does not support the video tag.
Internet Explorer
Internet Explorer 8 不支持video 元素。在IE 9 中,将提供对使用MPEG4 的video 元素
的支持。
标签的属性
属性值描述
autoplay autoplay 如果出现该属性,则视频在就绪后马上播放。
controls controls 如果出现该属性,则向用户显示控件,比如播放按钮。
height pixels 设置视频播放器的高度。
loop loop 如果出现该属性,则当媒介文件完成播放后再次开始播放。
preload preload
如果出现该属性,则视频在页面加载时进行加载,并预备播放。
如果使用"autoplay",则忽略该属性。
src url 要播放的视频的URL。
width pixels 设置视频播放器的宽度。
HTML 5 音频
HTML5 提供了播放音频的标准。
Web 上的音频
直到现在,仍然不存在一项旨在网页上播放音频的标准。
今天,大多数音频是通过插件(比如Flash)来播放的。然而,并非所有浏览器都拥有同样
的插件。
HTML5 规定了一种通过audio 元素来包含音频的标准方法。
audio 元素能够播放声音文件或者音频流。
视频格式
当前,audio 元素支持三种音频格式:
Internet Explorer Firefox 3.5 Opera 10.5Chrome 3.0 Safari 3.0
Ogg Vorbis X X X
MP3 X X
Wav X X X
如何工作
如需在HTML5 中播放音频,您所有需要的是:
<audiosrc=“song.ogg” controls=“controls”>
control 属性供添加播放、暂停和音量控件。
与 之间插入的内容是供不支持audio 元素的浏览器显示的:
实例
<audio src="song.ogg"controls=“controls”>
Your browser does not support the audio tag.
上面的例子使用一个Ogg 文件,适用于Firefox、Opera 以及Chrome 浏览器(读者注:国产的很多浏览器也可以)。
要确保适用于Safari 浏览器,音频文件必须是MP3 或Wav 类型。
audio 元素允许多个source 元素。source 元素可以链接不同的音频文件。浏览器将使用第一个可识别的格式:
实例
Your browser does not support the audio tag.
Internet Explorer
Internet Explorer 8 不支持audio 元素。在IE 9 中,将提供对audio 元素的支持。
标签的属性
属性值描述
autoplay autoplay 如果出现该属性,则音频在就绪后马上播放。
controls controls 如果出现该属性,则向用户显示控件,比如播放按钮。
preload preload
如果出现该属性,则音频在页面加载时进行加载,并预备播放。
如果使用"autoplay",则忽略该属性。
src url 要播放的音频的URL。
HTML 5 Canvas
canvas 元素用于在网页上绘制图形。
什么是Canvas?
HTML5 的canvas 元素使用JavaScript 在网页上绘制图像。
画布是一个矩形区域,您可以控制其每一像素。
canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
创建Canvas 元素
向HTML5 页面添加canvas 元素。
规定元素的id、宽度和高度:
<canvas id="myCanvas"width=“200” height=“100”>
通过JavaScript 来绘制
canvas 元素本身是没有绘图能力的。所有的绘制工作必须在JavaScript 内部完成:
<scripttype=“text/javascript”>
varc=document.getElementById(“myCanvas”);
var cxt=c.getContext(“2d”);
cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75);
JavaScript 使用id 来寻找canvas 元素:
varc=document.getElementById(“myCanvas”);
然后,创建context 对象:
var cxt=c.getContext(“2d”);
getContext(“2d”) 对象是内建的HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
下面的两行代码绘制一个红色的矩形:
cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75);
fillStyle 方法将其染成红色,fillRect 方法规定了形状、位置和尺寸。
理解坐标
上面的fillRect 方法拥有参数(0,0,150,75)。
意思是:在画布上绘制150x75 的矩形,从左上角开始(0,0)。
如下图所示,画布的X 和Y 坐标用于在画布上对绘画进行定位。
实例:把鼠标悬停在矩形上可以看到坐标
更多Canvas 实例
下面的在canvas 元素上进行绘画的更多实例:
实例- 线条
通过指定从何处开始,在何处结束,来绘制一条线:
JavaScript 代码:
<scripttype=“text/javascript”>
varc=document.getElementById(“myCanvas”);
var cxt=c.getContext(“2d”);
cxt.moveTo(10,10);
cxt.lineTo(150,50);
cxt.lineTo(10,50);
cxt.stroke();
canvas 元素:
<canvas id="myCanvas"width=“200” height=“100” style=“border:1px solid#c3c3c3;”>
Your browser does not support the canvaselement.
亲自试一试
实例- 圆形
通过规定尺寸、颜色和位置,来绘制一个圆:
JavaScript 代码:
<scripttype=“text/javascript”>
varc=document.getElementById(“myCanvas”);
var cxt=c.getContext(“2d”);
cxt.fillStyle="#FF0000";
cxt.beginPath();
cxt.arc(70,18,15,0,Math.PI*2,true);
cxt.closePath();
cxt.fill();
canvas 元素:
<canvas id="myCanvas"width=“200” height=“100” style=“border:1px solid#c3c3c3;”>
Your browser does not support the canvaselement.
亲自试一试
实例- 渐变
使用您指定的颜色来绘制渐变背景:
JavaScript 代码:
<scripttype=“text/javascript”>
varc=document.getElementById(“myCanvas”);
var cxt=c.getContext(“2d”);
var grd=cxt.createLinearGradient(0,0,175,50);
grd.addColorStop(0,"#FF0000");
grd.addColorStop(1,"#00FF00");
cxt.fillStyle=grd;
cxt.fillRect(0,0,175,50);
canvas 元素:
<canvas id="myCanvas"width=“200” height=“100” style=“border:1px solid#c3c3c3;”>
Your browser does not support the canvaselement.
亲自试一试
实例- 图像
把一幅图像放置到画布上:
JavaScript 代码:
<scripttype=“text/javascript”>
varc=document.getElementById(“myCanvas”);
var cxt=c.getContext(“2d”);
var img=new Image()
img.src=“flower.png”
cxt.drawImage(img,0,0);
canvas 元素:
<canvas id="myCanvas"width=“200” height=“100” style=“border:1px solid#c3c3c3;”>
Your browser does not support the canvaselement.