09.02.08 // Wozu braucht man eigentlich ein 12-Spalten-Grid?

Bereits im Oktober hatte ich versprochen ein wenig über das neue Design, insbesondere die Gridstruktur zu schreiben. Hiermit mache ich dieses Versprechen wahr.

Grid auf dieser Seite anzeigen/ausblenden

In den letzten beiden Jahren haben Grids auf Webseiten einen regelrechten Boom erlebt, so auch hier. Auslöser dieser Bewegung sind sicher Mark Boulton (mit seiner Serie “Five Simple Steps to designing grid systems” von 2005) sowie Khoi Vinh (mit eigentlich allem, was er tut).

“Well designed grid systems can make your designs not only more beautiful and legible, but more usable.” Mark Boulton

In Zeitungen gibt es Grid- bzw. Rastersysteme schon eine halbe Ewigkeit. Bei Webseiten jedoch gibt es diese Gestaltungstradition nicht. Das liegt sicherlich daran, dass man zu Beginn das Internet nicht als designbares Medium wahrnahm.

Zudem kommen die meisten Webdesigner eher aus der Programmierung, nicht aus der klassischen Gestaltung. Und die klassischen Gestalter versuchten sich nur zögerlich am Design von Websites.

Irgendwann entdeckte man Tabellen und damit 3-Spalten-Layouts, die heute noch oft als das A und O des Webdesigns gesehen werden (wenn auch mittlerweile ohne Tabellen). Doch die haben mit Grids nichts zu tun.

“The grid is the most vivid manifestation of the will to order in graphic design. […] Units are the basic building block of a grid. They’re all uniform. Columns are the grouping of units that create the visual structure of the page. They are not necessary uniform.” Khoi Vinh & Mark Boulton (PDF)

Ein Grid ist eine unterschwellige Aufteilung einer Zeitung, eines Magazins oder hier im Speziellen: einer Webseite. In diesem Beitrag kann das Grid eingeblendet werden. Es besteht aus 12 Spalten à 70 Pixel (bei einer Standard-Schriftgröße von 16px). Dabei werden zwei Spalten jeweils zusammengefasst zu einer sog. „Superspalte“.

Der Planungsaufwand ist bei so einem Layout natürlich höher, Bildgrößen müssen – zumindest in der Breite – vorher festgelegt werden. Mit einem einfachen float:left; ist es plötzlich nicht mehr getan, hier übernimmt eine Klasse (nämlich twocols1) die Aufgabe Bilder korrekt auszurichten:

1 twocols ist dabei ein ungeschickter Name, weil das Bild in Wirklichkeit keine zwei sondern sechs Spalten überspannt, bzw. drei „Superspalten“.

Das neue Layout von yatil.de mit überlagertem Grid

Das Grid hier ist durch die konsequente Verwendung von em (der Einheit, nicht des Elements) für alle Breitenangaben von Elementen sowie padding und margin beliebig skalierbar, ohne seine Gestalt zu verlieren. Leider führt dieses Vorgehen (schnell) zu horizontalen Scrollbalken.

“I paid serious attention to establishing a rational and sustainable layout grid that would see me through at least a few more years of doing this. Yes, I hope to keep at it that long.” Khoi Vinh

Zudem habe ich die meisten Seitenelemente mit Float und negativen Margins in die entsprechenden Randspalten geschoben – die Zitate sind ein Beispiel dafür.

Der große Vorteil bei Grids ist, dass sich alles wie von selbst ineinander fügt. Proportionen funktionieren einfach so und die Gestaltung der Seite wirkt aufgeräumter. Ein klares Grid und viel Vorarbeit sind nötig, zahlen sich aber aus, wenn es um eine klare Seitenstruktur und zusammenpassende Elemente geht.

Kommentare ()

  1. Link zu diesem KommentarGerald - hyperkontext

    11. Februar 2008, 13:32 Uhr

    Schöner Artikel, vor allem das unterlegte Raster per JS ;-)

    Im Web finde ich Grids in der angegebenen Form mit EM interessant. Von festgezurrten Pixel-Grids – Ausnahmen bestimmen die Regel – halte ich net viel.

    Zu den horizontalen Scrollbalken:
    Mit “max-width” lässt sich das doch wunderbar lösen, wobei die “offene” Variante ja auch akzeptabel ist.
    body {
    margin: 0;
    width: 78em;
    max-width: 100%;
    }
    Zusätzlich lässt sich da auch noch ein “min-width” einfügen, etwa: min-width: 640px;

    Und dem IE6 und < kannste ja in der IE-Quarantäne-Datei mit einer “expression” nachhelfen, z.B (quick and dirty):
    width:expression(document.body.clientWidth > 1280 ? ‘78em’ : ’100%’ );
    oder so ähnlich.

  2. Link zu diesem KommentarGerald - hyperkontext

    11. Februar 2008, 13:38 Uhr

    Äh… was mir gerade aufgefallen ist:
    Im IE7 schiebts die rechte Zitatspalte zur Hälfte in den Text rein und überlagert diesen.

  3. Link zu diesem KommentarEric Eggert

    11. Februar 2008, 14:46 Uhr

    Hallo Gerald: Dem IE bin ich jetzt mit absoluter Positionierung zu Leibe gerückt… Die Darstellung sollte jetzt hinhauen.

    Max- und min-width sind bei EM-basierten Layouts meiner Meinung nach eher ungeschickt. Da dieses Layout hier schon 950px in der Standardschriftgröße hat, wäre bei einer 1024er-Auflösung kaum eine Vergrößerung möglich, was natürlich nicht Sinn der Sache sein kann. Verkleinern will die Schrift i.d.R auch niemand, weshalb ein min-width nicht nötig ist.

  4. Link zu diesem KommentarJCG

    11. März 2008, 14:04 Uhr

    Sehr schön! Beeindruckend, wie logisch einem durch die Grid-Einblendung auf einmal die gestalterischen Gesetzmäßigkeiten erscheinen, die dem Layout zugrunde liegen.

  5. Link zu diesem KommentarHaschek

    16. März 2008, 05:07 Uhr

    Leider täuschen Blueprint und Co über den Umstand hinweg, dass solche Grid-Frameworks “bugfrei” nur bei Größenangaben in px funktionieren. Opera/Safarie runden falsch. IE ist buggy bei verschachtelten Grids in . Bild in px und Grid in em ist auch ein Problem. Spalten mit Rändern in px und Grid in em/ ebenso. Grid-Frameworks verleiten auch zu ungünstigen Dokumentenlayout (Nebeninhalt links auf der Seite bedeutet ganz oben im Dok.). Spezielle Spaltenverhältnisse sind auch problematisch (hat Blueprint deshalb derzeit 24 Spalten?). Layout mit Hilfe eines Grid-Ansatzes zu entwickelt, kann durchaus sinnvoll sein, aber — wie schon erwähnt — bei einer liquid/dynamischen Umsetzung treten mit entsprechenden Frameworks nur Probleme auf, da muss man wieder händisch ran. Zumal es eben auch einen Unterschied zwischen Print und Web gibt …

  6. Link zu diesem KommentarHaschek

    16. März 2008, 05:09 Uhr

    Dort, wo was im eben geschriebenen Kommentar zu fehlen scheint, stand ein Prozentzeichen. Schreit nach Bugfix :)