html5手机自适应代码

本来想使用HTML5的canvas做一个手机小游戏,结果第一步canvas自适应屏幕大小就卡住了:

[html] view plaincopy
  1. <span style="font-size:14px;"><span style="white-space:pre">    </span><span style="white-space:pre">   </span><body style="height: 100%;background-color: blue;">  
  2.           
  3.     <canvas id="gameCanvas" style=" height: 100%;background-color: red;">  
  4.         您的浏览器不支持HTML5 canvas,请换一个浏览器。  
  5.     </canvas></span>  

本来这段代码也是从网上视频搞到的,但是我发现可能这段代码对于PC浏览器自适应高度有用,但是对于手机就不行了,执行代码效果如下:

把body背景设为蓝色,canvas背景设为红色,大家可以看到二者并未重叠,canvas左上角和body左上角不重合导致上边和左边留有蓝色空白,而且还有滚动条,使用JS代码获取body的宽高度:

//获取屏幕宽度与高度

gWinHeight = document.body.clientHeight;

gWinWidth = document.body.clientWidth;

alert(gWinWidth + "," + gWinHeight);

结果为(304, 486),但是我的iPhone4的屏幕宽度是320,高度是460(算是状态栏是480),但是从计算结果来看,宽高度得到的结果明显都不对,也不知道是怎么计算出来的。

从网上找了许多资料,一一试过后,可以使用如下办法,解决手机APP自适应屏幕大小的问题:

<body style="height: 100%;width: 100%;margin: 0;padding: 0;">

<canvas id="gameCanvas" style=" height: 100%;width: 100%;margin: 0;padding: 0;display: block;">

您的浏览器不支持HTML5 canvas,请换一个浏览器。

</canvas>