Bei A List Apart hat jemand vor ein paar Tagen beschrieben, wie man ein im weitesten Sinne standardkonformes, elastisches Layout mit drei gleich hohen Spalten erstellt. Bekanntlich ist das auf dem aktuellen Stand der Technik keine Kleinigkeit. Das ganze funktioniert ohne allein auf Basis von HTML und CSS und hat nur einen gestalterischen Nachteil... der Hintergrund der Spalten rechts und links kann nur eingefärbt, aber nicht mit einem Bild dekoriert werden.
Der Grund hierfür: Die Spalten rechts und links sind keine eigentlichen Spalten, sondern nur extrem dicke Borders der Mittelspalte. Der Inhalt der Seitenspalten steht eigentlich in der Mittelspalte und wir nur per Negativ-Margin in Position gebracht. Das funktioniert auch ganz gut, bei cssplay kann man das ganze einmal in Aktion bewundern.
Nun wird auf A List Apart debattiert, wie sinnvoll diese Methode ist. Es gibt einige, die behaupten, das ganze ließe sich besser per Tabelle realisieren, was nach Ansicht der HTML-Kreuzritterschaft natürlich ein mittelschweres Sakrileg darstellt. Tabellen im Layout, wie kann man nur!
Ich muss sagen, ich wäre an dieser Stelle auch eher für die Tabellenlösung zu haben. Skandal!
Ersthaft: Man hat damit durch die Option auf Hintergrundbilder definitiv mehr Gestaltungsmöglichkeiten als mit dem obskuren Border-Konstrukt von A List Apart. Zum anderen bringt eine einfache Tabelle zur Umsetzung von nur drei Spalten an dieser Stelle keine Nachteile. So lange es wie hier kein wüst verschachteltes Konstrukt ist, haben Screenreader und andere Maschinen kein Problem damit, eine Tabelle zu linearisieren und einfach von oben nach unten zu lesen. Mit DIVs sähe das ganze auch nicht anders aus.
Und niemand kann mir erzählen, eine Seite mit dem diskutiertem Border-Abenteuer sei bei Wartung oder Redesign ein Arbeitsersparnis wenn man es mit einer einfachen Tabelle vergleicht. Eher bekommt man sogar Probleme:
Negative values for margin properties are allowed, but there may be implementation-specific limits.
Und wenn irgendwann der Tag kommt, an dem mit CSS und HTML regulär und trickfrei dreispaltige Layouts möglich sind, ist die vorgestellte Lösung genau so für ein Redesign fällig wie eine Tabelle. Bis dahin kann man sich als Nutzer der Borderlösung zugute halten, ideologisch besonders unbedenkliches HTML zu fabrizieren, wenn man das ganze denn unbedingt so sehen will.
Kommentare (4)
UserFriendly ¶
16. Februar 2007, 13:28 Uhr
http://www.yaml.de
;)
Peter ¶
16. Februar 2007, 14:20 Uhr
Sag' mir falls ich mich täusche, aber es besteht doch ein Unterschied zwischen Jede Spalte kann zur längsten werden (Zitat YAML-Website) und jeden Spalte ist gleich lang bei Tabellenlayout und Bordertrick... oder?
larsen ¶
15. Mai 2007, 17:23 Uhr
> Und wenn irgendwann der Tag kommt, an dem
> mit CSS und HTML regulär und trickfrei
> dreispaltige Layouts möglich sind, ist die
> vorgestellte Lösung genau so für ein Redesign
> fällig wie eine Tabelle.
Eben nicht: Bei semantisch richtiger HTML-Struktur erfolgt das (grafische) Redesign ausschließlich über CSS (und ein paar Bildern für die Hintergründe)! HTML, PHP und alle sonstigen Include-Schnipselchen können so bleiben wie sie sind. Das ist nicht so wichtig bei kleinen Privat-Homepages, aber bei großen Sites mit hunderten statischen HTML-Seiten und/oder viel serverseitiger Programmierung in den Seiten macht das den Unterschied zwischen ein paar Tagen und ein paar Wochen Arbeit.
Peter ¶
15. Mai 2007, 17:29 Uhr
Theoretisch ist das so. Aber praktisch kommt man bei komplexeren Geschichten doch kaum darum herum, zumindest ein paar Divs hinzuzufügen oder zu entfernen. Und wie häufig ist ein Redesign schon nur ein ein Redesign?