如果说XHTML已经开始寻求取代HTML,那么HTML5的实用性在于,它将两种语法整合在一起,采用同样有效的方式来表达HTML的抽象DOM表示。HTML5规范结合了HTML4,XHTML1以及DOM级别2HTML,并进行了相应的更新。
HTML5取代XHTML 1成为HTML规范的XML序列化格式。开发人员既可以使用宽松的HTML语法,也可以使用严格的XML语法来设定HTML5文档的格式。
HTML5包含以下新增和更新功能:
1. 新增了一种HTML文档类型:
2. 新增了一些结构化标记的元素(
一、绘画canvas元素
首先创建canvas元素,并规定元素的id、宽度和高度撒的:
<canvas id="myCanvas" width="200" height="100"></canvas>
然后通过javas来绘制。Canvas元素本身没有绘图能力,所有的绘制工作必须在javascript内部完成渐变。
<script type="text/javascript"> var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); cxt.fillStyle="#FF0000"; cxt.fillRect(0,0,150,75); </script>
JavaScript 使用 id 来寻找 canvas 元素:
var c=document.getElementById("myCanvas");
然后,创建 context 对象:
var cxt=c.getContext("2d");
getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
下面的两行代码绘制一个红色的矩形:
cxt.fillStyle="#FF0000"; cxt.fillRect(0,0,150,75);
fillStyle 方法将其染成红色,fillRect 方法规定了形状、位置和尺寸。
下面的两行代码绘制一条直线:
cxt.moveTo(100,100);
cxt.lineTo(200,200);
下面的一行代码是画一个圆:
cxt.arc(70,18,15,0,Math.PI*2,false);
这些属性值分别对应的是什么,70,18分别是X轴和Y轴,15是这个圆的半径,0是角度,Math.PI*2是圆周率,false代表顺时针而true是逆时针。
颜色的渐变效果也是可以实现的:
var c=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);
还有一些其他效果:
曲线quadraticCurreTo
字体fillText
二、音频audio和视频video
Video也支持多个source元素,链接到不同的视频文件,浏览器将使用第一个可识别的格式
属性值:
autoplay=”autoplay”就绪后马上播放
loop=“loop”播放完再次播放
preload="预加载"
muted="静音"
volume-=0.1音量减
volume+=0.1音量加
currentTime+=10 快进10秒
currentTime-=10 快退10秒
playbackRate=1 加速播放 (默认的播放速度)
audio的属性值和video的一样
三、存储
HTML5 提供了两种在客户端存储数据的新方法:
localStorage - 没有时间限制的数据存储
localStorage 方法存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用。
sessionStorage - 针对一个 session 的数据存储
sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。
四、语意化标签
五、新的表单类型
1、email
email 类型用于应该包含 e-mail 地址的输入域。在提交表单时,会自动验证 email 域的值。
E-mail: type="email" name="user_email" />
2、url
url 类型用于应该包含 URL 地址的输入域。在提交表单时,会自动验证 url 域的值。
Homepage: type="url" name="user_url" />
3、number
number 类型用于应该包含数值的输入域。还能够设定对所接受的数字的限定:
Points: type="number" name="points" min="1" max="10" />
4、range
range 类型用于应该包含一定范围内数字值的输入域。
range 类型显示为滑动条。还能够设定对所接受的数字的限定:
<input>type="range" name="points" min="1" max="10" />
5、Date pickers (date, month, week, time, datetime, datetime-local)
HTML5 拥有多个可供选取日期和时间的新输入类型
Date: type="date" name="user_date" />
6、search
search 类型用于搜索域,比如站点搜索或 Google 搜索。search 域显示为常规的文本域。
7、color颜色的选择