使画布填满整个页面

时间:2010-09-14 08:16:53

标签: javascript html5 canvas

如何使画布的宽度和页面高度达到100%?

7 个答案:

答案 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();

&#13;
&#13;
<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;
&#13;
&#13;