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 Spalten
column-width Spalten Breite
column-min-width Spalten mindest Breite
column-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 Randfarbe
column-rule-style Randstyle
column-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. Wird 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.