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。