Hier eine elegantere (CSS) Lösung, die kein zweites DIV-Element (= Elternelement) mit dem Attribut align='center' bzw. style='text-align:center;' benötigt und sich in einem zentralen Style-Sheet (im HEAD oder als CSS-Datei) realisieren lässt:
Code:
#centeredDiv
{
position: absolute;
left: 50%;
width: 500px;
margin-left: -250px; /* negative Hälfte von width: 500px */
top: 50%;
height: 300px;
margin-top: -150px; /* negative Hälfte von height: 300px */
border: 1px solid #006699;
}
HTML:
<div id="centeredDiv"> centeredDiv</div>
Anmerkung: mit Hilfe der
markierten CSS-Eigenschaften wird das DIV horizontal und vertikal im Browserfenster zentriert. Bei Veränderung der Fenstergrösse richtet sich das DIV immer automatisch zur Mitte aus.
Wenn blos eine horizontale Zentrierung des DIVs erwünscht ist, sieht der CSS-Code so aus:
Code:
#centeredDiv
{
position: absolute;
left: 50%;
width: 500px;
margin-left: -250px; /* negative Hälfte von width: 500px */
border: 1px solid #006699;
}
Es sollen mehrere DIVs untereinander zentriert werden? Auch kein Problem.
Anstelle der ID="centeredDiv" wird nun eine CSS-Klasse für alle DIVs erzeugt:
Code:
div.centered
{
position: relative;
left: 50%;
width: 500px;
margin-left: -250px; /* negative Hälfte von width: 500px */
margin-top: 10px;
margin-bottom: 10px;
border: 1px solid #006699;
}
HTML:
<div class="centered"> centered 1</div>
<div class="centered"> centered 2</div>
<div class="centered"> centered 3</div>
[ editpost 09:03 ]
In den vorangegangenen Beispielen hatte das DIV-Element immer eine feste Breite von 500px. Doch was tun, wenn neben der zentrierten Ausrichtung auch eine 'dynamische' Breite für das DIV erwünscht ist? Hier die Lösung:
Code:
body
{
margin: 20px 150px; /* Aussenabstand oben-unten / links-rechts */
padding: 0px;
}
#centeredDiv
{
width: 100%;
border: 1px solid #006699;
}
HTML:
<div id="centeredDiv"> centeredDiv</div>
Zu guter letzt der CSS-Code für mehrere DIVs mit 'dynamischer' Breite und einer zentrierten Ausrichtung im Browserfenster:
Code:
body
{
margin: 20px 150px; /* Aussenabstand oben-unten / links-rechts */
padding: 0px;
}
div.centered
{
width: 100%;
margin-bottom: 10px;
border: 1px solid #006699;
}
HTML:
<div class="centered"> centered 1</div>
<div class="centered"> centered 2</div>
<div class="centered"> centered 3</div>
[ Browsercheck für alle vorgestellten CSS-Techniken: IE5.5, Mozilla1.6, NN7.0, Opera7.23 ]