Die einfachste Lösung ist nur eine Auto-Marge zu verwenden, und geben Sie Ihrem div eine feste Breite und Höhe. Dies wird in IE7, FF, Opera arbeiten, Safari und Chrome:
HTML:
<body>
<div class="centered">...</div>
</body>
CSS:
body { width: 100%; height: 100%; margin: 0px; padding: 0px; }
.centered
{
margin: auto;
width: 400px;
height: 200px;
}
EDIT !! Entschuldigung, ich habe gerade bemerkt, dass du vertikal gesagt hast ... der Standardrand für "auto" für oben und unten ist null ... also wird es nur horizontal zentriert. Die einzige Lösung, um vertikal und horizontal zu positionieren, besteht darin, mit negativen Rändern herumzuwandern, wie die akzeptierte Antwort.
Warum eine negative Marge hier? Vielen Dank! –
Da es die Größe der div versetzt. Oben und links auf 50% gesetzt würde das obere und linke Element in der Mitte der Seite, nicht das Element selbst. Die negativen Ränder sind genau halb so groß wie das Element und machen den Unterschied aus, so dass das Element selbst zentriert ist, nicht nur seine obere und linke Seite. – tj111
Ew. Warum solltest du absolut positionieren müssen? Verwenden Sie das verdammte Kastenmodell, wie es entworfen wurde. –