Hallo,
Du musst deinem Kasten zunächst einmal eine Breite zuweisen (sei es nun in %, em, px oder was auch immer). Ansonsten macht horizontales Zentrieren keinen Sinn, weil der Kasten dann sowieso die volle Breite des Elternelements ausfüllt. Zum Zentrieren musst du margin-left:auto; margin-right:auto;
verwenden, und nicht
margin-left:0; margin-right:auto;
denn das wäre schlicht und einfach linksbündig.
Möchtest du den Kasten auch vertikal zentrieren, musst du ihn in der Tat absolut positionieren (top:50%) und dann mittels negativem margin-top, der genau die Hälfte der Höhe erhält, zurechtrücken. Hier könntest du dann allerdings die horizontale Zentrierung auf die gleiche Art und Weise durchführen.
Hier noch einmal ein Beispiel.
Gruß