Beiträge

Tabellen sind out, CSS Container bringen mehr

HTML-Tabellen sind ursprünglich zur tabellarischen Darstellung von Daten konzipiert. Da sie eine Vielzahl von HTML-Elementen beinhalten können, sind sie auch in der Lage, Elemente bzw. Bereiche einer Webseite anzuordnen und so das Seitenlayout zu kontrollieren. Wenn zur feineren Untergliederung der Webseite mehrere verschachtelte Tabellen genutzt werden, wird der Quelltext der Seite schnell unübersichtlich. Er ist daher schwer zu bearbeiten, wenn es zu Änderungen an der Seite kommen soll. Im Gegensatz zu CSS-Elementen gehören HTML-Tabellen schon seit den Anfängen des Internets zum Standard und werden in nahezu allen Browser gleich und richtig dargestellt.

Die Barrierefreiheit bei Nutzung von Screen Readern (Programmen, die Sehbehinderten die Inhalte der Webseite vorlesen) ist in der Regel nicht gegeben. Das kann zum Problem werden, wenn die betreffende Website für einen Kundenkreis gemacht wird, der die Barrierefreiheit einfordern kann. Das gilt nicht nur für Sehbehinderte, sondern auch zum Beispiel für Einrichtungen des Öffentlichen Dienstes.

HTML-Tabellen waren ursprünglich auch zur tabellarischen Darstellung von Daten und Inhalten gedacht, nicht aber zur Layout-Gestaltung. Deshalb bietet sich, wegen der breiteren und moderneren Gestaltungsmöglichkeiten sowie aufgrund der Trennung von Inhalt und Layout, CSS als die bessere Alternative an.

Bei einem CSS-Design werden Div-Container zur Gruppierung und Anordnung der Inhalte einer Webseite genutzt. Da diese auch noch frei verschoben und somit dynamischer positioniert werden können, bieten sich aus gestaltungstechnischer Sicht wesentlich mehr Möglichkeiten als die bloße Untergliederung der Seite in Rechtecke (wie bei HTML-Tabellen).

Mit CSS können aber auch Eigenschaften von einzelnen HTML-Elementen gesteuert und in Klassen ausgelagert werden, was die Wiederverwendung von Code innerhalb einer Seite zulässt. Zusätzlich können CSS-Definitionen in Dateien ausgegliedert werden. Dies hat zwei Vorteile: Erstens kann dadurch der bereits geschriebene CSS-Code wiederverwendet werden. Zweitens muss der Code bei Änderungen am Design nur an einer Stelle geändert werden muss, um das Design des kompletten Webauftritts zu ändern. Diese Ausgliederung der Designdefinitionen verbessert zugleich die Lesbarkeit des Codes und macht ihn so einfacher in der Handhabung.

CSS bietet mächtige Werkzeuge zur Webgestaltung. Diese werden allerdings vor allem bei älteren Browsern nur teilweise unterstützt, oder sie stellen das Ergebnis oft falsch dar. Auch bei aktuellen Browsern kommt es (noch) zu leichten Unterschieden in der Darstellung, da die CSS-Definitionen leicht unterschiedlich interpretiert werden. Vor allem bei Web-Anwendungen im Intranetbereich größerer Unternehmen spielt dies jedoch keine Rolle, da in der Regel von allen Mitarbeitern derselbe Browser genutzt wird und die Darstellung somit identisch erfolgt.

Die Tendenz geht zu CSS auch deshalb, weil die Möglichkeiten der Layout-Gestaltung mit CSS immer mehr ausgebaut werden, während die Gestaltungsmöglichkeiten mit Tabellen stagnieren. Es ist in der Zukunft zu erwarten, dass entsprechende Werkzeuge das Gestalten mit CSS so einfach machen, dass kaum noch Tabellen genutzt werden.

Und da auch wesentlich weniger Quellcode als bei Tabellen anfällt ist das Ergebnis auch suchmaschinenfreundlicher.

Weitere Infos (externe Seiten):