移动端布局概念
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<!--
布局视口:屏幕小,盒子宽,出现滚动条
js获取: document.body.clientWidth
视觉视口:人眼睛看屏幕的大小
js获取:window.innerWidth
理想视口:
布局视口=视觉视口
js获取:window.screen.width
设备像素比
DPR=物理像素/独立(CSS)像素
js获取:window.devicePixelRatio
rem单位:相对于html元素的字体大小
-->
</body>
</html>
canvas画布
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
#mycanvas{
border: solid 1px orange;
}
</style>
</head>
<body>
<canvas id="mycanvas" width="800" height="600"></canvas>
<script type="text/javascript">
var mycanvas=document.querySelector('#mycanvas');
var pencil=mycanvas.getContext("2d");
pencil.beginPath();
pencil.moveTo(100,100);
pencil.lineTo(200,300);
pencil.closePath();
pencil.strokeStyle='#FFA500';
pencil.lineWidth='5'
pencil.stroke();
</script>
</body>
</html>
画矩形
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
#myCanvas{
background-color: aqua;
}
</style>
</head>
<body>
<canvas id="myCanvas" width="800" height="600"></canvas>
</body>
<script type="text/javascript">
var myCanvas=document.querySelector('#myCanvas');
var pencile=myCanvas.getContext("2d");
pencile.beginPath()
pencile.closePath();
pencile.stroke();
</script>
</html>
绘制圆弧
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
#myCanvas{
background-color: aqua;
}
</style>
</head>
<body>
<canvas id="myCanvas" width="800" height="600"></canvas>
</body>
<script type="text/javascript">
var myCanvas=document.querySelector('#myCanvas');
var pencile=myCanvas.getContext("2d");
pencile.beginPath()
pencile.arc(300,100,200,0,180*Math.PI/180,false);
pencile.closePath();
pencile.stroke();
</script>
</html>
绘制文字
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
#myCanvas{
background-color: aqua;
}
</style>
</head>
<body>
<canvas id="myCanvas" width="800" height="600"></canvas>
</body>
<script type="text/javascript">
var myCanvas=document.querySelector('#myCanvas');
var pencile=myCanvas.getContext("2d");
pencile.beginPath()
pencile.fillText('hello',220,200);
pencile.closePath();
pencile.stroke();
</script>
</html>
案例–画饼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
canvas{
border: 1px solid orange;
}
</style>
</head>
<body>
<canvas id="box" width="800" height="700"></canvas>
</body>
<script type="text/javascript">
var canvans = document.getElementById("box");
var cxt = canvans.getContext("2d");
var data = [{
value: 0.1,
msg: '8000以下',
color: 'gray'
}, {
value: 0.4,
msg: '10000以上',
color: 'red'
}, {
value: 0.4,
msg: '8000-9000',
color: 'orange'
}, {
value: 0.1,
msg: '9000-10000',
color: 'blue'
}];
var startDeg=0;
var endDeg=0;
for(var i=0;i<data.length;i++){
endDeg=startDeg+data[i].value*360;
cxt.beginPath();
cxt.moveTo(200,200);
cxt.arc(200,200,200,startDeg*Math.PI/180,endDeg*Math.PI/180);
cxt.fillStyle=data[i].color;
cxt.fill();
cxt.closePath();
cxt.stroke();
startDeg=endDeg;
}
</script>
</html>
绘制图片
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
#myCanvas{
background-color: aqua;
}
</style>
</head>
<body>
<img src="img/300X70-01%5B1%5D.gif" id="image">
<canvas id="myCanvas" width="800" height="600"></canvas>
</body>
<script type="text/javascript">
var images=document.querySelector('img');
var myCanvas=document.querySelector('#myCanvas');
var pencile=myCanvas.getContext("2d");
pencile.beginPath()
pencile.drawImage(images,100,100,200,200);
pencile.closePath();
pencile.stroke();
</script>
</html>