molily: Tabellen oder Divsuppe. Was ist besser?

Beitrag lesen

Hallo,

Dadurch bin ich auf die Titelfrage gekommen. Tabellen sind natürlich nur für tabellarische Daten gedacht, das ist mir klar. Aber wenn ich mit einer großen Tabelle, in der effektiv nur 3 übereinandergelegene Zellen genutzt werden, arbeite, ist dies dann nicht einer Divsuppe vorzuziehen?
Idealerweise verwendet man weder das eine noch das andere. Das Markup zu ändern, um ein bestimmtes Layout verwirklichen zu können, ist schlecht und sollte nur als allerletzte Möglichkeit gesehen werden.

Mal allgemein: Das ist glaube ich die Lebenslüge der CSS-Layout-Freunde. »Idealerweise« trifft es genau.

Wenn man ein komplexes Layout nach den Regeln der Kunst baut, braucht man oft sehr viele Angriffspunkte für Styles im Markup. Das führt dazu, dass man divs und spans einfügt, die größtenteils strukturell keinen Sinn ergeben. Mit semantischem Code haben sie daher nichts zu tun, ich bezeichne sie gerne als Präsentationsgliederungen. Sie strukturieren den Inhalt nur in der Hinsicht, später im CSS adressierbar zu sein. Vor allem werden sie für ein bestimmtes Layout eingefügt, damit werden Markup und Stylesheet verschränkt, anstatt dass sie unabhängig voneinander bleiben und das Stylesheet ohne Änderung am Markup auswechselbar ist. Die vielgelobte Trennung von Textauszeichnung und Präsentationslogik ist damit Makulatur.

Es ist also nicht die »allerletzte Möglichkeit«, sondern leider Gang und Gäbe bei anspruchsvolleren Layouts. Die Frage ist also nicht, wie man komplett auf Präsentationsgliederungen im Markup verzichten kann, sondern wie man sie möglichst reduziert und abstrakt hält.

Die Entwicklung hin zur div-Suppe sah man schon, als die ersten großen Sites auf CSS-Layout umstiegen. Heutige große Sites arbeiten meist mit CSS-Layout, aber von aufgeräumtem, semantischen Markup sind sie weit entfernt. Selbst der CSS Zen Garden hatte damals gezeigt: Jedes beliebige anspruchsvolle CSS-Layout mit demselben Code umsetzen geht nur, wenn dieser voll von Präsentationsgliederungen ist, die Bereiche bloß markieren, damit Style-Regeln greifen können. Sicherlich ist das nicht einem prinzipiellen Problem zuzuschreiben, in der Regel lassen sich Optimierungen vornehmen, man denke an den Focus-Redesign.

Es macht jedenfalls Mühe, divs, spans, Klassen usw. zu reduzieren und CSS möglichst effizient anzuwenden. Es erfordert einigen Sachverstand und Erfahrung, die Auszeichnungen trotz hochkomplexer CSS-Anwendung sauber und allgemein zu halten. Das kommt mit der Zeit, wenngleich das Grundproblem bleibt. Es lässt sich wohl feststellen, dass niemand in der Frage den Stein der Weisen gefunden hat.

Mathias

--
»No nations, no borders.«
SELFHTML Weblog