我想调整 Canvas 元素的大小,使其适合其父元素,无论它是 <body>
(“全屏”)或一些 <div>
例如。这是我的尝试:
// called at each frame
function update() {
var canvasNode = document.getElementById('mycanvas');
canvasNode.width = canvasNode.parentNode.clientWidth;
canvasNode.height = canvasNode.parentNode.clientHeight;
}
出于某种原因, Canvas 不会停止增长!也许client*
参数不对吗?
请看这里的代码: http://jsfiddle.net/ARKVD/24/
最佳答案
最简单的做法是始终将 Canvas 保留在自己的 div 中。
唯一会出现在这个 div 中的是 Canvas 。
然后您可以使用 CSS 调整 div 的大小。你想要它和 body 一样大吗?给 div 宽度:100%
。
然后你总是可以正确地做:
canvas.width = theDiv.clientWidth;
canvas.height = theDiv.clientHeight;
如果您这样做,您就不必担心当 body 是 div 的直接父级时您当前面临的奇怪问题。
关于javascript - HTML5 Canvas 调整到父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8624268/