<canvas>标签定义宽高的方式及可能引起的问题

在使用<canvas>标签时通常都会设置宽高。而设置<canvas>的宽高有两种方式:

1、在<canvas>标签中直接定义宽高。这种方式是指定可以绘画的区域大小。例如:
<canvas id="drawing" width="200" heigth="200"></canvas>
说明:
  • 这种方式定义宽高时不用加单位。
  • <canvas>标签直接定义的width和height是绘画区域实际宽度和高度,绘制的图形都是在这个上面。
  • 若是未定义宽高或值不正确,则会被设置成默认的width:300px、height:150px(可使用getComputedStyle在浏览器中查看)。
2、在style中定义宽高。例如:
//css
.canvas{
    width:200px;
    heigth:200px;
    //other style
}
//html
<canvas id="drawing" class="canvas"></canvas>
说明:

style的width和height是<canvas>在浏览器中被渲染的高度和宽度。

通过style设置宽高可能引起的问题
  • 若未定义<canvas>标签的宽高而定义了style的宽高,则<canvas>标签中绘制的图片会进行拉伸,与预期效果不符。
  • 若同时定义了<canvas>标签的宽高和style的宽高,则以style的宽高为准。
由上可知,应直接在<canvas>标签中定义宽高,避免使用style属性定义宽高。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,805评论 1 92
  • 一:canvas简介 1.1什么是canvas? ①:canvas是HTML5提供的一种新标签 ②:HTML5 ...
    GreenHand1阅读 4,719评论 2 32
  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 1,212评论 0 1
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,805评论 0 2
  • 今天用Windows Media Player查看AVI视频时,只有声音,没有图像,这和WMP视频播放器没有...
    HF石上清泉阅读 14,999评论 3 4