キャンバス要素をパディングなしで表のセルに合わせようとしています。つまり、キャンバスとセルの上部/下部の間に余白が必要ありません。したがって、行の高さを 20px、キャンバスの高さを 20px と定義します。padding:0px スタイルも使用します。ただし、上と左からのみパディングを取得せず、下にパディングを取得します。実際、望ましくない余白に対応するために、表のセルが高くなっているように見えます。どうすれば解決できますか?
また、キャンバスの幅と高さを HTML と CSS で定義することの違いは何ですか? 一方が他方をオーバーライドしますか?
以下は私のHTMLコードです。ありがとう。
<!doctype html>
<html lang="en">
<html>
<head>
<meta charset="utf-8">
<title>experiment</title>
<body>
<script>
$(function() {
var canvas = document.getElementById('my_canvas');
var ctx = canvas.getContext('2d');
ctx.fillRect(0,0,20,20);
$("#my_table > tbody > tr:eq(0) > td:eq(0)").append($("#my_canvas"));
})
</script>
</head>
<style media="screen" type="text/css">
.my_cell {height:20px; width:100px; padding:0}
.my_canvas {height:20px; width:20px}
</style>
<table id="my_table" border="1" cellspacing="0" cellpinserting="0">
<tbody>
<tr><td class="my_cell"></td></tr>
</tbody>
</table>
<canvas id="my_canvas" class="my_canvas" width="20" height="20"></canvas>
</body>
</html>