我的css看起来像这样:
#Canvas {
width: 100%;
max-width: 548px;
height: auto;
}
它可以根据我的需要扩展我的图像。
然而,当我呼叫canvas.width
时,即使我的浏览器窗口非常小,它也将始终返回相同的宽度。为什么我无法从canvas
获得大小?
我需要大小,因为我mouse hover
检查了startX = percentX * canvas.width
这是不正确的,因为canvas.width
是静态的。
干杯!
答案 0 :(得分:0)
canvas
元素拥有自己的width
和height
属性,因此修改width
中的height
和css
只会扩展它但canvas
'属性将保持不变。因此,要更改canvas
尺寸,您必须使用JavaScript
函数onresize
调整其大小。
答案 1 :(得分:0)
您可以使用canvas.scrollWidth
获取width
。运行code snippet
在Full Page
function getWidth()
{
var can = document.getElementById("myCanvas");
var wid = can.scrollWidth;
alert(wid);
}

#myCanvas {
width: 100%;
max-width: 548px;
height: auto;
border: 1px solid red;
}

<canvas id="myCanvas"></canvas>
<input type="button" value="Get Width" onclick="getWidth()"/>
&#13;