médias inline-block

<canvas>

Crée une zone de rendu graphique 2D ou 3D (WebGL) manipulée par JavaScript. Utilisé pour les jeux, visualisations et effets graphiques.

Description

L’élément <canvas> crée une surface de rendu graphique contrôlée exclusivement par JavaScript via son API Canvas 2D ou WebGL. Il ne contient aucun graphique par lui-même — tout est dessiné via getContext('2d') ou getContext('webgl'). Le contenu entre les balises sert de repli textuel pour les navigateurs sans support.

Syntaxe

<canvas id="mon-canvas" width="800" height="450">
  Votre navigateur ne supporte pas l'élément canvas.
</canvas>

Exemples

Dessin d’un rectangle avec Canvas 2D :

<canvas id="demo" width="400" height="200"></canvas>
<script>
  const canvas = document.getElementById('demo');
  const ctx = canvas.getContext('2d');

  ctx.fillStyle = '#336699';
  ctx.fillRect(10, 10, 150, 100);

  ctx.strokeStyle = '#ff6600';
  ctx.strokeRect(200, 10, 150, 100);
</script>

Graphique dynamique :

<canvas id="graphique" width="600" height="300" aria-label="Graphique de ventes mensuel"></canvas>

Attributs spécifiques

AttributTypeDescription
widthintegerLargeur intrinsèque du canvas en pixels CSS (défaut : 300). Indépendant de la taille CSS.
heightintegerHauteur intrinsèque du canvas en pixels CSS (défaut : 150).

Notes

Taille CSS vs taille canvas : width et height définissent la résolution interne du canvas. La taille d’affichage se contrôle séparément via CSS. Si vous avez width="300" mais style="width: 600px", le canvas sera étiré.

Accessibilité limitée : <canvas> est une image bitmap inaccessible par nature. Toujours fournir une alternative textuelle via le contenu de repli, aria-label, ou un tableau de données alternatif si le canvas présente des informations critiques.

Haute résolution (Retina) : pour les écrans haute densité, utiliser devicePixelRatio pour multiplier les dimensions du canvas et réduire la taille CSS en conséquence.

Support navigateurs

Chrome1+ · Firefox1.5+ · Safari2+ · Edge12+