如何使画布的宽度和页面高度达到100%?
答案 0 :(得分:36)
我在这里工作:Are Google's Bouncing Balls HTML5?使用以下CSS:
* { margin: 0; padding: 0;}
body, html { height:100%; }
#c {
position:absolute;
width:100%;
height:100%;
}
其中#c是canvas元素的id。
答案 1 :(得分:9)
你可以在没有jquery的情况下使用这些代码
var dimension = [document.documentElement.clientWidth, document.documentElement.clientHeight];
var c = document.getElementById("canvas");
c.width = dimension[0];
c.height = dimension[1];
答案 2 :(得分:5)
这与<canvas>
代码有关。
创建全屏画布时,<canvas>
会导致滚动条如果未设置为display:block。
详细信息:http://browser.colla.me/show/canvas_cannot_have_exact_size_to_fullscreen
答案 3 :(得分:1)
您可以以编程方式设置画布宽度+高度:
// Using jQuery to get window width + height.
canvasObject.width = $(window).width();
canvasObject.height = $(window).height();
我已经对此进行了测试,只要在重新调整大小后重绘画布上的内容就不会改变缩放。
答案 4 :(得分:1)
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
也许这很容易?
答案 5 :(得分:0)
这对你有用吗?
<html>
<body style="height: 100%; margin: 0;">
<canvas style="width: 100%; height: 100%;"></canvas>
</body>
</html>
来自Force canvas element in html to take up the entire window?
答案 6 :(得分:0)
根据我的观察,这有效地运行,并给出一个蓝色的阴影
var c = document.getElementById('can');
var ctx = canvas.getContext('2d');
ctx.rect(0, 0, canvas.width, canvas.height);
// add linear gradient
var g = ctx.createLinearGradient(0, 0, c.width, c.height);
// light blue color
g.addColorStop(0, '#8ED6FF');
// dark blue color
g.addColorStop(1, '#004CB3');
context.fillStyle = g;
context.fill();
<script>
var c = document.getElementById('can');
var ctx = canvas.getContext('2d');
ctx.rect(0, 0, canvas.width, canvas.height);
// add linear gradient
var g = ctx.createLinearGradient(0, 0, c.width, c.height);
// light blue color
g.addColorStop(0, '#8ED6FF');
// dark blue color
g.addColorStop(1, '#004CB3');
context.fillStyle = g;
context.fill();
</scrip
&#13;
html,body
{
height:98.0%;
width:99.5%;
}
canvas
{
display:block;
width:100%;
height:100%;
}
&#13;
<html>
<body>
<canvas id="can"></canvas>
</body>
</html>
&#13;