Cung cấp cho canvas các thuộc tính kiểu css sau:
canvas {
padding-left: 0;
padding-right: 0;
margin-left: auto;
margin-right: auto;
display: block;
width: 800px;
}
Biên tập
Vì câu trả lời này khá phổ biến, hãy để tôi thêm một chút chi tiết.
Các thuộc tính trên sẽ căn giữa canvas, div hoặc bất kỳ nút nào khác mà bạn có liên quan đến nút cha của nó theo chiều ngang . Không cần phải thay đổi lề và đệm trên cùng hoặc dưới cùng. Bạn chỉ định chiều rộng và để trình duyệt lấp đầy không gian còn lại bằng các lề tự động.
Tuy nhiên, nếu bạn muốn nhập ít hơn, bạn có thể sử dụng bất kỳ thuộc tính viết tắt css nào bạn muốn, chẳng hạn như
canvas {
padding: 0;
margin: auto;
display: block;
width: 800px;
}
Tuy nhiên, căn giữa canvas theo chiều dọc yêu cầu một cách tiếp cận khác. Bạn cần sử dụng định vị tuyệt đối và chỉ định cả chiều rộng và chiều cao. Sau đó, đặt các thuộc tính trái, phải, trên và dưới thành 0 và để trình duyệt lấp đầy khoảng trống còn lại bằng các lề tự động.
canvas {
padding: 0;
margin: auto;
display: block;
width: 800px;
height: 600px;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
Khung vẽ sẽ tự căn giữa dựa trên phần tử mẹ đầu tiên đã position
đặt thành relative
hoặc absolute
hoặc phần nội dung nếu không tìm thấy phần tử nào.
Một cách tiếp cận khác sẽ được sử dụng display: flex
, có sẵn trong IE11
Ngoài ra, hãy đảm bảo bạn sử dụng loại tài liệu gần đây, chẳng hạn như xhtml hoặc html 5.