ist eine vom W3C vorgeschlagene Empfehlung für die mehrspaltige Gestaltung von HTML-Dokumenten.
CSS Level 3 (CSS3) wird von der CSS-Working Group in eigenständigen Modulen entwickelt, um zukünftige Anforderungen schneller einarbeiten zu können. Dieses Modul beinhaltet die Regeln zur Aufteilung von Fließtext auf mehrere Spalten, die mit Abständen und Trennlinien versehen werden können.
Die Basisdefinition erfolgt über die Angabe der Anzahl der Spalten column-count:n;
- so dass die Breite errechnet wird - oder der Breite der Spalte column-width:n;
- so dass die Anzahl der Spalten errechnet wird -. Prinzipiell könnte beides gleichzeitig angegeben werden (column-count:2; column-width:12em;
), doch würde das nur in wenigen Fällen Sinn machen, da der vorhandene Platz nicht optimal genutzt würde. Zur Dokumentation kann der Wert auto
eingetragen werden (columns: 2 auto;
oder columns: auto 20em;
in der zusammengefassten Regel columns
). Zusätzliche Angaben betreffen den Abstand zwischen den Spalten (column-gap:n;
) und eine Linie dazwischen.
Die Beschreibung der Linie entspricht der von Rändern. So kann eine Dicke angegeben werden (column-rule-width:n;
), das Aussehen bestimmt werden (column-rule-style:none| hidden| solid| ...;
) und die Farbe (column-rule-color:<color>;
). Die Beschreibung kann zusammengefasst werden: column-rule:2px solid darkred;
Um den Umbruch zwischen den Spalten zu regeln, werden die Elemente break-before
, break-after
und break-inside
genutzt. Für diese sind folgende Optionen vorgesehen.
- auto
- Der Umbruch wird nicht reglementiert.
- always
- Der Umbruch erfolgt immer vor | nach dem Element.
- avoid
- Untersagt einen Umbruch vor | nach | innerhalb eines Elementes.
- left
- Erzwingt einen oder zwei Seitenumbrüche vor | nach | innerhalb eines Elementes, damit das folgende auf der linken Seite erscheint.
- right
- Erzwingt einen oder zwei Seitenumbrüche vor | nach | innerhalb eines Elementes, damit das folgende auf der rechten Seite erscheint.
- page
- Erzwingt einen Seitenumbruch vor | nach einem Element.
- column
- Erzwingt einen Spaltenumbruch vor | nach einem Element.
- avoid-page
- Verhindert einen Seitenumbruch vor | nach einem Element.
- avoid-column
- Verhindert einen Spaltenumbruch vor | nach einem Element.
Seitenumbrüche wirken sich nur bei seiten-orientierten Medien aus, z. B. beim Druck.
Mit column-fill
kann das Füllen der vorhandenen Spalten beeinflusst werden. Die Option balance
füllt die Spalten gleichmäßig, mit auto
erfolgt sie sequentiell, so dass die letzte Spalte nur teilweise oder auch leer sein kann.
Die Unterstützung für CSS durch die modernen Browser ist sehr unterschiedlich (ᵅ). Teilweise werden Elemente aus CSS3 bereits unterstützt, während Elemente aus CSS2 noch fehlen.
Tipp: Da bei mehrspaltigem Layout durch lange Wörter hässliche Lücken entstehen können, ist es wichtig, Trennmöglichkeiten zu bieten. Dies geschieht am Einfachsten durch die Entität ­
(soft-hyphen, weicher Bindestrich), ein Bindestrich, der nur sichtbar ist, wenn er am Ende einer Zeile benötigt wird. Erst zukünftige Versionen werden das automatische Einfügen von Trennstrichen (engl.: hyphenation) mit Hilfe von Wörterbüchern beherrschen (¹).
W3C - Technical Reports
{CSS Multi-column Layout Module
- http://www.w3.org/TR/css3-multicol} (CR)
Weiterführende Links
{Cascading Style Sheets home page
- http://www.w3.org/Style/CSS/}
@ W3C
{Web Style Sheets home page
- http://www.w3.org/Style/}
@ W3C
(¹) {hyphens
- https://developer.mozilla.org/en/CSS/hyphens}
@ MDN
(ᵅ) {Comparison of layout engines (Cascading Style Sheets)
- http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28CSS%29}
@ en.Wikipedia.org