javascript - HTML5 Canvas 调整到父级

标签 javascript html dom canvas html5-canvas

我想调整 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/

相关文章:

PHP HTML DOM 解析

javascript - 使用 javascript 或 jquery 查找用户桌面路径

javascript - 用 php 内容刷新一个 div

c# webbrowser 控制打印

php/css/html 语言按钮当前语言

javascript - 是否可以使用 JavaScript 将段落标记更改为标题标记?

javascript - Koajs/nodejs 获取 IP 地址请求 - 只返回本地主机地址

javascript - 将信息窗口添加到地标

html - 修复了容器内的聊天框

javascript - 用于按源顺序选择 *所有* 元素、文本节点和注释节点的 XPath 表达式