Geben Sie der Zeichenfläche die folgenden CSS-Stileigenschaften:
canvas {
padding-left: 0;
padding-right: 0;
margin-left: auto;
margin-right: auto;
display: block;
width: 800px;
}
Bearbeiten
Da diese Antwort sehr beliebt ist, möchte ich noch ein paar Details hinzufügen.
Die obigen Eigenschaften zentrieren die Zeichenfläche, div oder einen anderen Knoten, den Sie relativ zu seinem übergeordneten Knoten haben, horizontal . Die oberen oder unteren Ränder und Polster müssen nicht geändert werden. Sie geben eine Breite an und lassen den Browser den verbleibenden Bereich mit den automatischen Rändern füllen.
Wenn Sie jedoch weniger eingeben möchten, können Sie beliebige CSS-Kurzschrift-Eigenschaften verwenden, z
canvas {
padding: 0;
margin: auto;
display: block;
width: 800px;
}
Das vertikale Zentrieren der Leinwand erfordert jedoch einen anderen Ansatz. Sie müssen die absolute Positionierung verwenden und sowohl die Breite als auch die Höhe angeben. Setzen Sie dann die Eigenschaften left, right, top und bottom auf 0 und lassen Sie den Browser den verbleibenden Bereich mit den automatischen Rändern füllen.
canvas {
padding: 0;
margin: auto;
display: block;
width: 800px;
height: 600px;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
Die Zeichenfläche zentriert sich basierend auf dem ersten übergeordneten Element, das position
auf relative
oder gesetzt wurde absolute
, oder dem Körper, wenn keines gefunden wird.
Ein anderer Ansatz wäre die Verwendung display: flex
, die in IE11 verfügbar ist
Stellen Sie außerdem sicher, dass Sie einen aktuellen Doctype wie xhtml oder html 5 verwenden.