[TOC]
- 默认的canvas的元素大小是300 x 150 像素
canvas元素大小 600 x 300 canvas绘图表面大小 600 x 300
在设置canvas宽高度的时候不许有px( 可以有px但是不符合canvas规范 ) ```javascript <!DOCTYPE html>
<a name="xQwL1"></a>
### canvas元素大小 600 x 300 canvas绘图表面大小 300 x 150
```javascript
<!DOCTYPE html>
<head>
<title>Canvas element size: 600 x 300, Canvas drawing surface size: 300 x 150</title>
<style>
body {
background: #dddddd;
}
#canvas {
margin: 20px;
padding: 20px;
background: #ffffff;
border: thin inset #aaaaaa;
width: 600px; /* Sets only the width and height of */
height: 300px; /* the canvas element, not the drawing surface */
}
</style>
</head>
<body>
<canvas id='canvas'>
Canvas not supported
</canvas>
<script src='example.js'></script>
</body>
</html>
代码1通过设置canvas元素的width和height属性来改变元素大小的,也可以通过代码2使用css设置canvas元素的效果,但是与通过width和height属性设置的结果并不一样
使用css设置canvas元素的大小与直接设置属性相比,css设置的canvas实际有两套尺寸,一个是元素本身的大小,一个是绘图表面的大小
- 当设置元素的width和height属性时,实际上是同时修改了元素本身的大小和元素绘图表面的大小
- 通过css来设定canvas的大小只会改变元素本身的大小 而不会影响元素绘图表面的大小(元素绘图表面默认300 x 150)
当canvas元素大小不符合其绘图表面大小时,浏览器会对绘图表面进行缩放使其符合元素本身的大小(可能会导致奇怪的效果)