Ausgangsbasis: Gleich hohe Spalten mit CSS.
Seiteninhalte werden in den Browser mit verschiedenen Verfahren zentriert, abhängig von der CSS-Unterstützung der Browser.
<div style="display:table; margin: auto">
<div style="display:table-cell; background: #ccf; width: 150px">
Spalte 1
</div>
<div style="display:table-cell; background: #eee; width: 300px">
Spalte 2<br />mit weiterem Inhalt
</div>
<div style="display:table-cell; background: #ccf; width: 150px">
Spalte 3
</div>
</div>
Der Internet Explorer kennt die CSS-Eigenschaft margin: auto nicht. Darum muss das Element in einem Elternelement zentriert werden. Da text-align nach dem Standard nicht einem DIV-Container zugewiesen werden kann, ignorieren Firefox, Opera und andere diese Einstellung. Es müssen also immer beide Eigenschaften angegeben werden.
Auf das erste DIV-Element (mit text-align: center) kann verzichtet werden, wenn text-align: center BODY zugewiesen ist.
<!--[if lt IE 8]>
<style type="text/css">
#a1, #a2, #a3 {
float: left;
}
</style>
<script type="text/javascript">
function layout_colheight()
{
var h = document.getElementById("a").scrollHeight;
document.getElementById("a1").style.height = h+'px';
document.getElementById("a2").style.height = h+'px';
document.getElementById("a3").style.height = h+'px';
}
window.onload = layout_colheight;
</script>
<![endif]-->
<div style="text-align: center">
<div id="a" style="display:table; margin: auto; text-align: left">
<div id="a1" style="display:table-cell; background: #ccf; width: 150px">
Spalte 1
</div>
<div id="a2" style="display:table-cell; background: #eee; width: 300px">
Spalte 2<br />mit weiterem Inhalt
</div>
<div id="a3" style="display:table-cell; background: #ccf; width: 150px">
Spalte 3
</div>
</div>
</div>
© Harald Kampen 2006 - Freigegeben unter GNU Free Documentation License - Zurück zum Artikel