CSS: Tabellendarstellung ohne <table>-Tag

Die HTML-Tabellenelemente sollte man grundsätzlich nur für die Darstellung von Daten verwenden und nicht für das Layout oder andere Sachen, die so dargestellt werden sollen wie Tabellen. Wenn man trotzdem bestimmte Elemente wie Tabellen darstellen lassen will, kann man das sauberer mit CSS machen. CSS bietet uns nämlich genau die Möglichkeiten, die die typischen Tabellenelemente auch können.

Wann verwendet man Tabellenelemente und wann CSS-Eigenschaften?

Wie schon gesagt, sollte man die richtigen Tabellenelemente <table>, <tr>, <td> etc. nur verwenden wenn es sich um die Darstellung von Daten handelt. Das könnte zum Beispiel eine Auflistung von Filmen mit den dazugehörigen Darstellern und dem Erscheinungsjahr sein. Wenn man aber zum Beispiel Formularfelder so darstellen lassen will wie eine Tabelle (also dass die Spalte der Labels den gleichen Abstand zu den Eingabefeldern haben), dann sollte man sich für die sauberere CSS-Methode entscheiden.

Die Tabellenelemente mit CSS ersetzen

Als Beispiel nehme ich nur die drei Tabellenelemente <table>, <tr> und <td>. Diese reichen in der Regel aus um eine einfache Tabelle mit Zeilen und Spalten zu erstellen. Dabei erstellen wir für jeden Tabellentag eine entsprechende CSS-Klasse, die dann genau das macht wie das Tabellenelement eigentlich auch. Die einzige CSS-Eigenschaft, die wir dafür brauchen, ist display. Mit dieser Eigenschaft kann man nämlich veranlassen, dass sich die Darstellung der Elemente, die diese Klasse nutzen, verändert.

/* .table ersetzt das <table>-Element */
.table { display:table; }

/* .tr ersetzt das <tr>-Element */
.tr { display:table-row; }

/* .td ersetzt das <td>-Element */
.td { display:table-cell; }

Die CSS-Klassen auf den HTML-Code anweden

Die vorherigen Klassen sollten eigentlich selbsterklärend sein. Alle Elemente, die diese Klassen erben, werden anders dargestellt. Jeweils als Tabelle, als Tabellenspalte oder als Tabellenzeile. Und schon hat man ein sauberes CSS-Tabellenlayout. Allerdings sollte diese Methode nur bei Layouttabellen angewendet werden. Für normale Daten nimmt man dann wieder die normalen Tabellenelemente.

Hinweis:
Dies ist ein älterer Artikel von meinem alten Blog. Die Kommentare zu diesem Artikel werden (falls vorhanden) später noch hinzugefügt.

Der Autor

Unter dem Namen »TheBlackPhantom« alias »BlackY« veröffentlichte ich auf meinem alten Blog, BlackPhantom.DE, in der Zeit von 2011 bis 2015 leidenschaftlich Beiträge über Computer, Internet, Sicherheit und Malware. Während der BlackPhantom-Zeit war ich noch grün hinter den Ohren und lernte viel dazu. Mehr Infos vielleicht in Zukunft...