Sven Rautenberg: Netscape div center geht nicht?

Beitrag lesen

Moin Sven,

vielen Dank. Ich versuche es mal mit meinen Worten. IE baut Shit! Wenn ich also eine Tabelle, ein Blockelement, zentrieren will, dann muss ich das der Tabelle stecken und NICHT dem übergeordneten Element, gelle?!

<table style="margin-left:auto;margin-right:auto">

Wenn ich Text, ein Inlineelement, zentriert darstellen will, dann muss ich das dem übergeordneten Element klarmachen. In meinem Fall der Tabelle.

<table style="text-align:center;margin-left:auto;margin-right:auto">

Bis hierhin alles richtig.

Für IE würde ich dem <body> also noch ein text-align:center mitgeben. Was ich nicht verstehe, sind deine Workarounds und das mit dem Scrollbalken.

Da man mit text-align eigentlich keine Blockelemente zentrieren kann, ist es ein Workaround, wenn man es trotzdem tun (und es auch funktioniert). Wenn du <body> text-zentrierst, dann gilt das auch für alle Unterelemente - und das ist sicherlich nicht erwünscht, wenn alle Texte zentriert erscheinen, deshalb muss es in der Ebene drunter (hier: die Tabelle) rückgängig gemacht werden.

Die Sache mit dem Scrollbalken ist so zu verstehen: margin:auto setzt gewisse Mechanismen in der Berechnungsformel für die Elementbreite und -position in Gang, damit das Element zentriert wird. Es funktioniert, wenn die Elementbreite definiert ist - der restliche Abstand zwischen Element und umgebendem Element wird zu gleichen Teilen auf den margin aufgeteilt - es zentriert. Das gilt allerdings auch dann, wenn zuwenig Platz für das Element vorhanden ist! Dann werden negative margin-Werte genommen, und deine Tabelle rutscht links und rechts aus dem Browserfenster heraus - ohne dass Scrollbalken entstehen! Dem kann man nur entgegenwirken, indem das umgebende Element (hier: <body>) eine Mindestbreite hat - dann wird ggf. das Browserfenster mit Scrollbalken versehen. Die Mindestbreite sollte so breit sein, wie das zu zentrierende Element breit ist.

Da der IE min-width nicht versteht, wirst du den Effekt in diesem Browser nicht nachvollziehen können. Aber Mozilla und Opera können es dir zeigen.

- Sven Rautenberg