はじめに:
私はウェブサイトを作っていて、その中に es を入れて を作りたいと思って<table/>
い<canvas/>
ます。
私がやった事:
<table/>
いくつかの<canvas/>
es を含む を作成して、それらを描画できるようにしました。
<table>
<tr>
<td>item1</td>
<td><canvas></canvas></td>
</tr>
<tr>
<td>item2</td>
<td><canvas></canvas></td>
</tr>
<tr>
<td>item3</td>
<td><canvas></canvas></td>
</tr>
</table>
CSS:
canvas {
margin: 0;
padding: 0;
height: 50px;
}
table {
margin: 0;
padding: 0;
width: 500px;
border: 0;
border-width: 0;
border-spacing: 0;
}
tr {
margin: 0;
padding: 0;
}
td {
margin: 0;
padding: 0;
border: 0;
border-width: 0;
border-spacing: 0;
height: 50px;
}
キャンバスを大きな箱のように見せるために、キャンバス同士をぶつけてみたいと思います。コード例を作成しました: http://jsfiddle.net/Whb8u/
window.onload = function(){
if(window.addEventListener){
var items = document.getElementsByTagName('canvas');
for(var i = 0; i < items.length; i++){
drawcanvas(items[i]);
}
}
};
function drawcanvas(item){
var context = item.getContext("2d");
var canvasWidth = item.parentNode.offsetWidth;
var canvasHeight = item.height = item.parentNode.offsetHeight;
context.fillStyle = 'rgb(100,100,100)';
context.fillRect(0, 0, canvasWidth, canvasHeight);
}
問題:
キャンバスは互いに接触しません。テーブルborder
、margin
、padding
およびは既に削除しましたspacing
。
キャンバスには の固定が必要height
です50px
。(コードでは、最初にヒットさせようとしましたが、これは高さよりも重要です)
しかし、JavaScript でサイズを変更しても、<td/>
常に5px
よりも大きくなり<canvas/>
ます。
なぜこれが起こるのか、および/またはそれを修正する方法を知っている人はいますか?
概要:
灰色のボックスは互いに衝突しません。なぜこれが起こるのか、および/またはそれを修正する方法を知っている人はいますか? コード例: http://jsfiddle.net/Whb8u/