Pour <canvas>
- éléments, les règles CSS pour width
et height
définir la taille réelle de l'élément canvas qui sera tiré de la page. D'autre part, les attributs HTML de width
et height
définir la taille du système de coordonnées ou "grille" que la toile de l'API à utiliser.
Par exemple, considérez ceci:
<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>
avec:
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);
Les deux ont eu la même chose, tiré sur eux, par rapport aux coordonnées internes de l'élément canvas. Mais dans la deuxième toile, le rectangle rouge est deux fois plus large car la toile dans son ensemble est en train de s'étendait sur une surface plus importante par les règles CSS:
http://jsfiddle.net/BYossarian/7CWCs/3/
Remarque: Si les règles CSS width
et/ou height
ne sont pas spécifiée, alors le navigateur va utiliser les attributs HTML pour la taille de l'élément, telles que 1 unité de ces valeurs est égale à 1px sur la page. Si ces attributs ne sont pas spécifiés, alors ils seront par défaut pour un width
de 300
et height
de 150
.