html5可以理解为html+css+js

其目前可以解决:1.浏览器的兼容问题 2.统一web应用标准 3.解决文档结构定义不明确问题 4.解决web应用中的功能受限问题 5.是程序员编写的web应用更加独立

html5的判断是<!DOCTYPE html>标签,此标签内不含其他任何元素,便是html5。

html5新增特性:video,audio,canvas,新的特殊内容元素(article,footer,header,nav,section),新增的表单控件(calendar,date,time,email,url,search)

添加视频:

目前html5只支持ogg,mpeg4,webm格式

 

添加音频:

1 <audio controls="controls">
2   <source src="song.ogg" type="audio/ogg">
3   <source src="song.mp3" type="audio/mpeg">
4 <!--当浏览器不支持以上视频格式,则显示下面语句-->
5 Your browser does not support the audio tag.
6 </audio>

 表单元素就不举例子了,其各种浏览器的支持如下:

可见其在opera浏览器中支持较好,但是现在我们可以在任一浏览器中使用他们了,都会以文本框的形式显示,尽管可能不会显示其效果,如type="date",其可能只会显示一个文本框,而不会有日期供我们选择。

Canvas元素特性:

canvas是html5的新特性,其提供一个绘图的工具,但其本身并不具备绘图的动作,动作都是有js来完成的。

 1 <!-- 定义一个canvas画板 -->
 2 <canvas width="700" height="400" id="canvas"></canvas>
 3 <!-- 在画板上进行绘图动作 -->
 4 <script type="text/javascript">
 5 //获得canvas对象
 6 var c=document.getElementById("canvas");
 7 //定义画笔对象
 8 var cxt=c.getContext("2d");
 9 //填充颜色
10 cxt.fillStyle="#FFC0CB";
11 //定义大小,坐标为坐上角0,0,宽和高为150,75
12 cxt.fillRect(0,0,150,75);
13 </script>

 

效果图:

 

矢量图形:

矢量图形是由几何特性绘制的图形,矢量可以是一个点,一条线,矢量图只能靠软件生成,文件占用内在空间较小,因为这种类型的图像文件包含独立的分离图像,可以自由无限制的重新组合。它的特点是放大后不会失真,和分辨率无关,适用于一些图形设计,文字设计,logo设计,版式设计。

 canvas绘制矩形和三角形圆形,加载图片:

 1 <!DOCTYPE html >
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 5 <title>Insert title here</title>
 6 </head>
 7 <body>
 8 <canvas id="canvas" width="1000" height="800" />
 9 <script type="text/javascript">
10     //生成一张纸
11     var cv = document.getElementById("canvas")
12     //获取到笔对象
13     var pen=cv.getContext("2d")
14     //定义笔样式
15     pen.fillStyle="#99cc33"
16     pen.fill()
17     //绘制矩形,以填充的方式,当然也有以线条的方式stroke
18     pen.fillRect(100,100,200,200)
19     //绘制三角形,定义起点
20     pen.moveTo(300,300)
21     //y轴不变,x轴向右移动100
22     pen.lineTo(400,300)
23     //x轴不变,y轴向下移动100
24     pen.lineTo(300,400)
25     //连接回起点
26     pen.lineTo(300,300)
27     //填充
28     pen.fill()
29     //绘制圆形
30     //开始绘制路径
31     pen.beginPath()
32     pen.arc(400,100,50,0,Math.PI*2,false)//false为顺时针,true为逆时针
33     pen.closePath()
34     pen.fill()
35     //在画板上加载图片
36     //实例化图片对象
37     var img = new Image();
38     img.src="美女.jpg";
39     pen.drawImage(img,0,0,100,100)
40     //直接显示图片,执行脚本的流程是等待图片装载完毕之后才会执行下面的操作,如果不想这样的话,我们可以用onload()函数
41     /*
42     * img.onload=function(){
43     * pen.drawImage(img,0,0,100,600)
44     * }*/
45 </script>
46 </body>
47 </html>

 

效果图如下,其中图片素材读者可替换成自己的。

 

posted on 2018-01-29 20:39  沧猿  阅读(130)  评论(0编辑  收藏  举报