CSS3 Multiple Columns - Mehrspalten Layout-Modul
Die CSS3 Spezifikation haben ein Multi-Column Layout Module, das es sehr einfach macht, Text in Spalten darzustellen.
Eigenschaften
Die erste Gruppe von Eigenschaften setzt die Spalten-Anzahl und deren Breite.column-count
Anzahl Spaltencolumn-width
Spalten Breitecolumn-min-width
Spalten mindest Breitecolumn-width-policy
Anzahl Spalten
Die zweite Gruppe beschreibt den Abstand zwischen den Spalten.column-gap
Abstand zwischen den Spalten (wie padding)column-rule
Rand zwischen den Spalten (wie border)column-rule-color
Randfarbecolumn-rule-style
Randstylecolumn-rule-width
Randbreite
Die dritte Gruppe macht es möglich, dass einzelen Elemente (Titel Definitionen) mehrere Spalten umfassen.column-span
Anzahl Kolonnen die das Element umspannen. W
ird noch nicht von allen Browsern richtig umgesetzt (s. Screenshot, unten).
Beispiel - Text aus dem Jahr 2004
Sieht vielversprechend aus das Multi-column layout module. Wenn man bedenkt, dass das Multi-column layout module, bereits im Jahr 2001 den Ursprung hatte, ist die Hoffnung eher klein, dass wir dieses Modul in nächster Zeit einsetzten können.
Das W3C arbeitet derzeit an CSS3, das im Jahr 2004 noch fertiggestellt werden soll. CSS3 wird modular, was eine schnellere Weiterentwicklung der einzelnen Module ermöglicht, ohne den Standard zu ändern. Browserhersteller haben es einfacher, die einzelnen Module Schritt für Schritt zu implementieren.
Titel über alle Spalten
W3C bietet im Modul "Multi-column layout" eine Reihe von Eigenschaften an, die ein Spaltenlayout leichter möglich machen. Spalten können dem vorhandenen Platz angepasst werden, der Text fliesst automatisch von einer Spalte in die nächste. Ausserdem ist es möglich, ein Element über mehrere Spalten zu strecken.
CSS war am Anfang die Sprache des font-Tag Ersatzes. Unterdessen hat sie sich zu einer mächtigen Layoutsprache entwickelt. Mit dem Wissen, dass immer noch Browser der Generation 4 am Leben sind, kann man nur hoffen, dass die Browser-Hersteller nicht 6 Jahre zum Implementiern von CSS3 benötigen werden.
Screenshot von «Beispiel - Text aus dem Jahr 2004»
'column-span:all' mit Firefox vs Chrome: Screenshot zeigen (in neuem Tab).
Syntax für column-count
div#multicolumn { margin:0 0 20px; column-count:3; column-gap:20px; column-rule:1px dotted #000; }
h2 { column-span:all; }
Zusätzlich kann auch eine Spaltenenbreite column-width: 150px
definiert werden. Alle Spalten werden 150 pixel breit. Der Browser errechnet wie viele Spalten dieser Breite in die Box passen. Wenn die angegebne Spaltenanzahl 3 beträgt aber nur Platz für 2 Kolonnen à 250 pixel ist werden nur 2 dargestellt.
Browser
Mozilla und Webkit Browser brauchen zur Zeit noch einen Prefix für die richtige Darzustellung.
Browser-Support bei quirksmode.org/css/columns.
-moz-column-count:3; /* Firefox */ -webkit-column-count:3; /* Safari and Chrome */ column-count:3;
IE interpretiert das erst ab Version 10. Bis dahin wird der normale Textfluss umgesetzt.