我有 2 个画布,一个使用 HTML 属性width和height大小,另一个使用 CSS:
width
height
<canvas id="compteur1" width="300" height="300" onmousedown="compteurClick(this.id);"></canvas> <canvas id="compteur2" style="width: 300px; height: 300px;" onmousedown="compteurClick(this.id);"></canvas>
Compteur1 显示应该是这样,但不是 compteur2。内容是使用 JavaScript 在 300x300 画布上绘制的。
为什么会有显示差异?
似乎widthandheight属性决定了画布坐标系的宽度或高度,而 CSS 属性只是决定了它将在其中显示的框的大小。
这在HTML 规范中有解释:
元素有两个属性来控制元素的canvas大小——位图:width和height。这些属性在指定时必须具有 有效的非负整 数值。 必须使用解析非负整数 的规则来获取它们的数值。如果缺少某个属性,或者如果解析其值返回错误,则必须使用默认值。width属性默认为 300,属性height默认为 150。
canvas