canvas.width 和 它的style.width是不一样的:
canvas是个画布,有他自己的宽和高(默认是没有单位的纯数字),就是canvas.width和canvas.height的宽和高,
行间样式里如果你用vh和vw设置宽高,不好意思,不可以,统统按照px计算,
css里可以用vw,vh。但是,请记住,这里设置的是style.属性;
js里用带有单位的字符串比如vw和vh还有px,设置width和height,还是不好意思,不好使,
这样就不好使!!!
(style属性是表现在页面上的样式,不是canvas的本身的属性。一定要注意。随意设置style的宽高直接导致的结果就是画画变形变形变形)
好了,那么怎么做比较好?
我的做法是,要想自适应屏幕的大小。 可以在css里设置width(就是style.width )为vw单位的宽度;在js里获取它的width(canvas的属性) 然后赋值给 height。