Zum Hauptinhalt Zur Navigation

CSS3 Grid Layout: Webseiten-Layout wie bei Zeitungen

Präzise Positionierungen in mehrspaltigen Layouts. Mit CSS3 Grid Layout veröffentlicht das World Wide Web Consortium (W3C) seinen ersten Arbeitsentwurf (Working Draft - WD) einer Spezifikation, die Layouts ermöglicht, die denen von Zeitungen oder Büchern am ehesten entsprechen. Dabei funktioniert das Ganze ohne mehrfach verschachtelte Tabellen.
/ Andreas Sebayang
21 Kommentare News folgen (öffnet im neuen Fenster)

Zusammen mit dem CSS3 Multi Column Layout Module(öffnet im neuen Fenster) (WD vom 6. Juni 2007), dem CSS3 Advanced Layout Module(öffnet im neuen Fenster) (WD vom 9. August 2007) und dem heute veröffentlichten Working Draft des CSS 3 Grid Positioning Module(öffnet im neuen Fenster) bietet CSS3 nun vieles, das mit CSS1 und CSS2 nur mit Mühen umzusetzen war oder den Einsatz von Tabellen erforderte. Von den ersten beiden Modulen gab es bereits Arbeitsentwürfe, die jedoch auf das Jahr 2005 datiert sind.

Das Grid Positioning Module bietet die beiden Eigenschaften grid-columns für Spalten und grid-rows für Reihen an. Der Ansatz ist dabei vom Advanced Layout Module etwas verschieden. Letzteres unterteilt wie bei klassischen Tabellendesigns das Layout in einzelne Bereiche, die mehr oder weniger fest sind. Grid Positioning erlaubt hingegen die Positionierung an einem Gitternetz.

Das Bild in obigem Beispiel wird etwa mit

positioniert. Die Eigenschaften Columns und column-gap sind aus dem Multi Column Layout Modul und beschreiben zunächst ein klassisches Drei-Spalten-Layout, das sich etwa in gedruckten Medien findet. Um das Bild zu definieren, braucht es jedoch weitere Möglichkeiten, die mit grid-columns bzw. -rows möglich werden. "* *" im Wert der grid-columns beschreibt die ersten beiden Spalten, in Klammern steht der Abstand zum Grid sowie weitere zwei Spalten und das "[2]" sorgt für eine Wiederholung der Werte, die in Klammern als wiederholbar gekennzeichnet wurden.

Insgesamt sind also sechs logische Spalten plus zwei Abstände definiert, wobei zwei Gitterspalten jeweils eine Textspalte ausmachen. Das Bild wird nun links an der vierten Gitterspalte und unterhalb der ersten Gitterreihe mit "float-offset" positioniert. Dabei orientiert sich die Positionierung an "float". "4gr" steht für vier Grid Units, wobei jede Gittereinheit sich durch den Abstand zwischen zwei Gitterlinien definiert, also die Abstandsangabe 0.5in unter grid-columns mitgezählt wird.

Die grobe Positionierung ist bereits mit %22float%22(öffnet im neuen Fenster) möglich. Das Gitter erlaubt hingegen eine präzisere Positionierung von Elementen, die sonst unmöglich wäre, so der Working Draft. Gegenüber Tabellen besteht zudem der Vorteil, dass Änderungen am Layout recht einfach durchzuführen sein sollten.

Mit dem Grid Positioning Module zeigt sich zudem Microsofts Bemühen, an CSS3 aktiv mitzuarbeiten, so dass davon auszugehen ist, dass CSS3 in zukünftigen Versionen des Internet Explorers Einzug finden wird. Die Autoren des Arbeitsentwurfs Alex Mogilevsky und Markus Mielke sind beide für den Konzern aus Redmond tätig.

Da sich alle Empfehlungen für erweiterte Layouts noch im Entwurfsstadium befinden, ist die Benutzung der CSS3-Techniken in nächster Zeit noch nicht möglich. Das W3C empfiehlt die Nutzung von CSS3 erst ab dem Status einer Candidate Recommendation (CR). Vor diesem befindet sich jedoch erst der Last Call bzw. eventuell weitere Working Drafts. Das W3C verweist zudem auf die Media Queries(öffnet im neuen Fenster) , da das Grid Layout sich nicht unbedingt für jeden Fall eignet.

Die experimentelle Nutzung ist bei einigen Browsern vereinzelt vorher möglich. Die meisten Browser unterstützen etwa experimentelle CSS-Eigenschaften, die mit dem Präfix "-o-" für Opera, "-moz-" für Gecko oder "-webkit-" für Webkit-Browser versehen sind. Von der allgemeinen Nutzung ist jedoch abzuraten, da die Module noch geändert werden können und teilweise voneinander abhängig sind.


Relevante Themen