Donnez au canevas les propriétés de style css suivantes :
canvas {
padding-left: 0;
padding-right: 0;
margin-left: auto;
margin-right: auto;
display: block;
width: 800px;
}
Editar
Comme cette réponse est assez populaire, permettez-moi d'ajouter un peu plus de détails.
Les propriétés ci-dessus horizontalement centre le canevas, le div ou tout autre nœud que vous avez par rapport à son parent. Il n'est pas nécessaire de modifier les marges supérieures ou inférieures et les paddings. Vous spécifiez une largeur et laissez le navigateur remplir l'espace restant avec les marges automatiques.
Toutefois, si vous souhaitez réduire le nombre de caractères, vous pouvez utiliser les propriétés de raccourci css que vous souhaitez, telles que
canvas {
padding: 0;
margin: auto;
display: block;
width: 800px;
}
Centrer la toile verticalement nécessite toutefois une approche différente. Vous devez utiliser le positionnement absolu, et spécifier à la fois la largeur et la hauteur. Définissez ensuite les propriétés gauche, droite, haut et bas à 0 et laissez le navigateur remplir l'espace restant avec les marges automatiques.
canvas {
padding: 0;
margin: auto;
display: block;
width: 800px;
height: 600px;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
Le canevas se centrera en fonction du premier élément parent qui possède la propriété position
réglé sur relative
o absolute
ou le corps si aucun n'est trouvé.
Une autre approche serait d'utiliser display: flex
qui est disponible dans IE11
Veillez également à utiliser un doctype récent tel que xhtml ou html 5.
0 votes
Comment puis-je lui dire de faire une toile pleine page sans donner de dimensions et sans avoir de barres de défilement lors du redimensionnement ?
2 votes
Ne le faites pas en HTML faites-le en javascript, utilisez des trucs comme appendChild ou autre et définissez la largeur et la hauteur à window.innerWidth et window.innerHeight.