Untuk <canvas>
elemen, aturan CSS untuk width
dan height
mengatur ukuran aktual elemen kanvas yang akan ditarik ke halaman. Di sisi lain, atribut HTML width
dan height
atur ukuran sistem koordinat atau 'kisi' yang akan digunakan kanvas API.
Sebagai contoh, pertimbangkan ini ( jsfiddle ):
var ctx = document.getElementById('canvas1').getContext('2d');
ctx.fillStyle = "red";
ctx.fillRect(10, 10, 30, 30);
var ctx2 = document.getElementById('canvas2').getContext('2d');
ctx2.fillStyle = "red";
ctx2.fillRect(10, 10, 30, 30);
canvas {
border: 1px solid black;
}
<canvas id="canvas1" style="width: 50px; height: 100px;" height="50" width="100"></canvas>
<canvas id="canvas2" style="width: 100px; height: 100px;" height="50" width="100"></canvas>
Keduanya memiliki hal yang sama tergambar pada mereka relatif terhadap koordinat internal elemen kanvas. Tetapi di kanvas kedua, persegi panjang merah akan dua kali lebih lebar karena kanvas secara keseluruhan direntangkan melintasi area yang lebih besar oleh aturan CSS.
Catatan: Jika aturan CSS untuk width
dan / atau height
tidak ditentukan maka browser akan menggunakan atribut HTML untuk mengukur elemen sehingga 1 unit dari nilai-nilai ini sama dengan 1px pada halaman. Jika atribut ini tidak ditentukan maka mereka akan default ke width
dari 300
dan height
dari 150
.