Ответ 1
Дайте холсту следующие свойства стиля CSS:
canvas {
padding-left: 0;
padding-right: 0;
margin-left: auto;
margin-right: auto;
display: block;
width: 800px;
}
Edit
Поскольку этот ответ довольно популярен, позвольте мне добавить немного более подробную информацию.
Вышеуказанные свойства будут горизонтально центрировать холст, div или любой другой node у вас относительно родителя. Нет необходимости менять верхнее или нижнее поля и прокладки. Вы указываете ширину и позволяете браузеру заполнять оставшееся пространство с помощью автоматических полей.
Однако, если вы хотите набрать меньше, вы можете использовать любые сокращенные свойства css, которые вы хотите, например
canvas {
padding: 0;
margin: auto;
display: block;
width: 800px;
}
При центрировании холста вертикально требуется другой подход. Вам нужно использовать абсолютное позиционирование и указать ширину и высоту. Затем установите для параметра left, right, top и bottom значение 0 и пусть браузер заполнит оставшееся пространство автоматическими полями.
canvas {
padding: 0;
margin: auto;
display: block;
width: 800px;
height: 600px;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
Холст будет центрировать себя на основе первого родительского элемента с position
, установленного на relative
или absolute
, или тела, если его не найдено.
Другим подходом было бы использовать display: flex
, который доступен в IE11
Кроме того, убедитесь, что вы используете недавний doctype, такой как xhtml или html 5.