1
キャンバスがウィンドウを埋めるページを作った。それは動作しますが、何らかの理由でスクロールバーが表示されます。私は知らない、何がエラーです。キャンバスのサイズを変更すると、なぜスクロールバーが表示されるのですか?
<!doctype html>
<html>
<head>
<title>test</title>
<meta charset="utf-8" />
<style type="text/css">
#canvas {
background-color: #EEEEEE;
}
* {
margin: 0px;
}
</style>
<script type="text/javascript">
function getSize() {
var myWidth = 0, myHeight = 0;
if(typeof(window.innerWidth) == 'number') {
//Non-IE
myWidth = window.innerWidth;
myHeight = window.innerHeight;
} else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
//IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
myHeight = document.documentElement.clientHeight;
} else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
//IE 4 compatible
myWidth = document.body.clientWidth;
myHeight = document.body.clientHeight;
}
return {x:myWidth,y:myHeight};
}
window.onload = function() {
canvas = document.getElementById('canvas');
var size = getSize();
canvas.width = size.x;
canvas.height = size.y;
};
</script>
</head>
<body>
<canvas id="canvas" width="200" height="200"></canvas>
</body>
</html>
を、キャンバスには、インライン要素は、ありますベースラインは、他のすべてのインライン要素と同様です。そのため、コードはウィンドウのサイズのキャンバスを作成しますが、これはベースラインの上に置かなければなりません。これはブロックの最下部にあります。この場合、キャンバスの垂直方向の配置を変更することもできますが、 'display:block;'がより良い解決策です。 – Neil