阵容搭配攻略分享 | 召唤与合成2阵
728 2023-04-03 01:19:40
div
to take 100% height,100%宽度或两者.我希望Canvas采用100%宽度和100%高度:
(Link to JsFiddle for your perusal)
标记:
<div > <canvas ></canvas></div>
CSS:
html { width: 100%; height: 100%;}body { width: 100%; height: 100%; margin: 0;}#canvasContainer { width: 100%; height: 100%; background-color: green;}#myCanvas { width: 100%; height: 100%;}
使用Javascript:
var canvas = document.getElementById("myCanvas");var ctx = canvas.getContext("2d");ctx.lineWidth = 1;ctx.beginPath();ctx.moveTo(0, 0);ctx.lineTo(canvas.width, canvas.height);ctx.stroke();ctx.lineWidth = 1;ctx.beginPath();ctx.moveTo(canvas.width, 0);ctx.lineTo(0, canvas.height);ctx.stroke();
这导致一些事情没有占据浏览器窗口的100%:
那个缺点就是我没有Canvas.
调整画布元素的大小如果你使用CSS拉伸画布,你将拉伸整个屏幕的默认大小为300×150像素的可怜画布 – 想象你有一个大小的图像和你做的相同 – 将看起来非常糟糕.
无法使用CSS拉伸画布内容(它充当图像的方式).您需要显式设置画布的像素大小.
这意味着您需要获取父容器的大小并将其设置为画布上的像素值:
首先,摆脱滚动条等,调整你的CSS:
body, html { width: 100%; height: 100%; margin: 0; padding:0; overflow:hidden;}
现在修改此规则:
#myCanvas { background-color: green; position:fixed; left:0; top:0;}
现在只将标记减少到此(如果您希望画布覆盖整个场景,则不需要窗口以外的容器):
<canvas ></canvas>
现在我们可以计算出尺寸:
var canvas;window.onload = window.onresize = function() { canvas = document.getElementById('myCanvas'); canvas.width = window.innerWidth; canvas.height = window.innerHeight; }
就是这样.
Working demo(调整窗口大小看).