Einspaltige Layouts

(Auszug aus "CSS Kochbuch" von Christopher Schmitt)

Problem

Es soll ein Layout erstellt werden, das eine Hauptspalte enthält, wie in folgender Abbildung gezeigt.

Eine einspaltige Seitendarstellung

Abbildung: Eine einspaltige Seitendarstellung.

Lösung

Weisen Sie dem linken und rechten Außenabstand des body-Elements Prozentwerte zu:

body {
 margin-left: 15%;
 margin-right: 15%;
}

Diskussion

Durch die Verwendung von Prozentwerten für den linken und rechten Außenabstand des Dokumentkörpers bleibt die Spaltenbreite flexibel, wodurch sich der Inhalt über die gesamte Breite des Browserfensters des Benutzers erstrecken kann.

Soll die Spalte eine feste Breite erhalten, definieren Sie den Wert der Eigenschaft width für das Element body mit einer absoluten Längeneinheit (z.B. Pixel):

body {
 width: 600px;
}

Dadurch wird die Spalte auf der linken Seite des Browserfensters angeordnet. Soll die Spalte in der Mitte zentriert werden, umgeben Sie den gesamten Inhalt mit einem div-Element und versehen dieses mit einem einmaligen id-Attribut, zum Beispiel frame:

<div id="frame">
 [...]
</div>

In der CSS-Regel weisen Sie anschließend dem linken Innenabstand des body-Elements einen Wert von 50% zu:

body {
 width: 600px;
 padding-left: 50%;
}

Mit einem ID-Selektor weisen Sie der Spalte einen negativen Wert zu. Dieser entspricht der halben Spaltenbreite. Dabei sollten Sie darauf achten, dass die Spalte die gleiche Breite erhält wie das Element body.

#frame {
 /* Spaltenbreite festlegen */
 width: 600px;
 margin-left: -300px;
}

Vielleicht glauben Sie jetzt, das Ziel auch dadurch erreichen zu können, dass Sie den linken und rechten Außenabstand auf auto setzen:

#frame {
 width: 600px;
 margin-left: auto;
 margin-right: auto;
}

Dieser – eigentlich sehr gute und geradlinige – Ansatz funktioniert aber leider nicht in Internet Explorer für Windows. Daher greifen wir in dieser Lösung auf einen Workaround zurück, der mit den meisten gängigen Browsern funktioniert.

Siehe auch

Das Rezept Elemente auf einer Webseite zentrieren zum Zentrieren von Elementen in einem Webdokument und das Rezept Horizontale Navigationsmenüs zur Erstellung eines horizontalen ("Karteireiter"-)Navigationsmenüs.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema CSS bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright der deutschen Ausgabe © 2007 by O’Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "CSS Kochbuch" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstr. 81, 50670 Köln