Über mich

Startseite arrow Tipps & Tricks arrow Zwei Wege um eine Website zu zentrieren

Zwei Wege um eine Website zu zentrieren

Donnerstag, 2. August 2007
Geschrieben von Armin Vieweg
Um den Inhalt einer Website zu zentrieren, also mittig darzustellen, gibt es verschiedene Wege. Ohne Tables einzusetzen haben sich folgende Lösungen bewährt.

Aufgabe
Wir haben eine Website mit einer Breite von 900 Pixeln und wollen diese 900 Pixel jetzt mittig ausrichten. Wird das Browserfenster in seiner Größe verändert soll die Website sich dementsprechend auf der Fläche verschieben.


Lösung 1 (empfohlen)
Die erste Variante ist genauso einfach wie genial. Es wird dem Body-Tag gesagt, er soll die Inhalte zentriert darstellen. Das alleine reicht allerdings noch nicht, damit das DIV sich auch daran richtet muss es den Wert "margin:auto" bekommen. Das sieht dann so aus:

body {
    text-align:center;
}

#website {
    width:900px;
    margin:auto;
    text-align:left;
}


Innerhalb des DIVs für die Website sagen wir dann wieder "text-align:left", damit die Inhalte darin nicht zentriert dargestellt werden. Ist die Browserfläche kleiner als 900 Pixel wird ein horizontaler Scrollbalken angezeigt, genauso wie man es gewohnt ist.





Lösung 2
Eine weitere Möglichkeit das DIV zentriert ausrichten zu lassen, ist es mit Positionsangaben zu justieren.

#website {
    width:900px;
    position:absolute;
    left:50%;
    margin-left:-450px;
}


Was passiert hier? Mit mit Left-Befehl wird die linke Kante des DIV genau in der Mitte des Bildschirms dargestellt. Wir wollen aber, dass die Mitte des DIVs in der Mitte ist. Deshalb ziehen wir die Hälfte der Breite mit "margin-left" ab. Das Ganze hat nur ein Problem und zwar wenn der Bildschirm kleiner als 900 Pixel ist. Dann gibt es keine Scrollbar und das DIV wird über den linken Rand hinaus angezeigt.

Daher empfehlen wir Lösung 1.


//Nachtrag:
Danke an Konstantin Knöll, der eine weitere, sehr gute Lösung eingereicht hat:

* {
  padding: 0;
  margin: 0;
}
 
body, html {
  width: 900px;
  margin: 0 auto;
}



Dieser Lösungsansatz war mir bis dato fremd, klappt aber wirklich ;)
Vielen Dank Konstantin.


  Kommentare (8)
 1 Geschrieben von: Bernd Bieling, am 11.02.2009 um 15:16
Hi, das klappt gut! In Firefox + Safari. (Netscape hab ich noch nicht probiert.) 
Nur in IE leider nicht. Woran liegt's?! (home.html) 
 
Hier meine Baustelle: 
 
http://www.galerie-kunstenergie.de/amj/index.html 
 
Dazu noch eine Frage: 
Lasse das Logo auf der index einblenden (Dreamweaver CS3). Soweit OK. Aber dann möchte ich, dass es nach einigen Sekunden automatisch zu home.html weiter geht. Jemand 'ne Ahnung wie das geht?!!! 
 
Danke + Gruß 
Bernd
 2 Geschrieben von: Armin Vieweg, am 11.02.2009 um 20:59
Hi Bernd, 
 
zu Deiner 2. Frage: 
 
meta http-equiv="refresh" content="5; URL=home.html" 
 
(davor und dahinter dann spitze Klammern, so wie bei jedem HTML-Tag) 
 
Das in den Head der index.html einfügen und nach 5 Sekunden wird automatisch auf die home.html weitergeleitet. Auf jedenfall sollte es aber noch einen Link geben der auf die home.html weiterleitet, damit Google was zu crawlen hat. Der Link sollte ein title haben und das Bild eine etwas ausgeprägtere ALT-Beschreibung mit dem was sich hinter der "willkommen"-Seite verbirgt. Auch besser für Google. 
 
Der Quellcode auf Deiner home.html Seite ist sehr chaotisch. Da blickt man kaum durch, vorallem weil es so unnötig viele Elemente gibt die darüberhinaus auch noch alle mit Styles versehen sind. Damit raubt man sich dem Vorteil Design von Inhalt zu trennen.  
 
Es gibt außerdem noch diverse Fehler im Quellcode. Die ID ist über 30x vergeben. Eine ID sollte einmalig sein und maximal 1x vergeben werden. Solche Codefragmente sind auch der Sache nicht dienlich: 
 
alt="malerei_1 text-align:left; float: left; width=" width="128"" 
 
Wenn das ne neue, repräsentative Seite werden soll, empfehle ich es durch einen Berufs-Webdesigner machen zu lassen. Zumindest das Grund-Layout auf dem dann die weiteren Inhalte basieren können. Ich kenne da zufällig einen ganz Guten :P 
 
Kannst bei Interesse gerne mal Kontakt aufnehmen: info [at] professorweb [.] de 
 
Gruß 
Armin
 3 Geschrieben von: Bernd Bieling, am 13.02.2009 um 15:12
Hi Armin, 
 
erst mal danke! Melde mich ggf.  
 
Gruß 
Bernd
 4 Geschrieben von: Martin, am 21.05.2010 um 11:27
Hi Armin! Hast du auch Tipps für die vertikale Zentrierung?  
Möchte, dass meine Website immer in der Mitte vom Browser ist 
 
lg 
Martin
 5 Geschrieben von: Micha, am 05.01.2011 um 22:35
Danke für Eure Tipps. Aber alles in Copy/Paste führt bei mir zu dem Ergebnis, dass der eigentliche Code als Text auf der Webseite angezeigt wird ...  
Ihr seht, da ist ein Newbie am Werk, aber das hier ist auch das richtige Problem dafür ;) 
Und wenn ich das Problem gelöst (bekommen) habe, ergibt sich schon gleich das nächste! 
So ist es eben, wenn man nicht auf fertige Templates zurückgreifen will (Fotohomepage). 
 
Danke vorab 
Micha
 6 Geschrieben von: Sura, am 03.02.2011 um 03:20
Danke für diese wertvolle und geniale Tipps ! Es funktioniert Prima :)
 7 Geschrieben von: David, am 17.12.2011 um 13:06
Hallo ich hätte mal eine Frage zu Methode 2: 
 
Wäre es möglich, dass wenn man das Browserfenster horizontal zusammenzieht, dass dann die Seite ab einer bestimmten Stelle (ab dem Anfang des content-div's) stehen bleibt, also nicht weiter nach links verschwindet, sondern nur noch nach rechts??? 
 
mfg 
David
 8 Geschrieben von: Armin Vieweg, am 17.12.2011 um 18:59
Mit bloßem CSS vermutlich nicht. Man könnte aber mit JavaScript was kleines schreiben.
Letzte Aktualisierung ( Montag, 6. Dezember 2010 )
 
< Zurück