• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Tabelle: col-Breiten per Klasse oder Inline-Style steuern?

north

Neues Mitglied
Hallo,

ich habe hier eine Tabelle (ja, sie wird zur Darstellung tabellarischer Daten und nicht zu Layoutzwecken verwendet...), deren Spalten ich per col "steuere".

Trennung von Inhalt und Darstellung hin oder her, ich frage mich ob es nicht etwas umständlich ist, für jedes einzelne col-Tag eine Klasse/ID im CSS-File anzulegen, nur um jeweils eine Breite angeben zu können (sonst werden keine weiteren Angaben benötigt).

Ich habe auch gesehen, dass selbst Jens Meiert auf seiner Kontakt-Seite eine Spaltenbreite per Inline-Style definiert (Kontakt und Impressum ? Jens Meiert - <th style="width: 27%;" scope="row">Adresse</th>).

Ich meine auch mich erinnern zu können, das Tabellen schneller gerendert werden, wenn sie Maßangaben enthalten (allerdings ist es lange her, dass ich das gehört bzw. gelesen habe). Wobei das width-Attribut für col-Elemente zumindest in HTML5 nicht mehr vorgesehen ist, also nur der Weg über Inline-Styles bleiben würde wenn man die Angabe nicht extra auslagern möchte.

Meinungen? :)

Danke schon mal,
north
 
Brauchst du denn unbedingt width als Attribut? Die Angabe der Breite kann doch mittels CSS erfolgen.

Die Angabe der Breite muss die Geschwindigkeit des Rendering nicht verschnellern. Wichtiger ist da die Angabe von table-layout: fixed:
http://www.css4you.de/table-layout.html schrieb:
Das Layout der Tabelle wird aus den Werten der Tabellen-, Spalten-, und Rahmenbreiten sowie den Zellabständen errechnet. Da die Breite bereits in der ersten Zeile festgelegt ist, wird die Tabelle vom Browser schneller gerendert als bei table-layout:auto; und der Zelleninhalt wird evtl. abgeschnitten, wenn er nicht in die angegebene Breite passt.
 
Hi,

die Steuerung über width brauche ich natürlich nicht. Ich hatte nur erwähnt, dass die zwei Attribute nicht Teil der HTML5 Spezifikation sind, weil das für mich schon auf eine deutlichere Unterstützung der Trennung von Inhalt und Darstellung hinweist. Was wiederum dafür sprechen würde den Cols eine Klasse (da sie zumindest teilweise gleiche Breiten haben -> weniger Deklarationen) oder ID zuzuweisen, und keinen Inline-Styles zu verwenden.

Trotzdem erscheint es mir in diesem speziellen Fall ein Mehraufwand zu sein, den Cols Klassen/IDs zu geben, nur um dann im CSS File jeweils eine Breite anzugeben.
Bei allen anderen Klassen/IDs habe ich entweder mehrere Deklarationen, oder verwende eine Deklaration für mehrere Elemente. Bei den Cols dagegen habe ich etliche Breiten, die ich in den meisten Fällen eben nur für ein bestimmtes Col-Tag brauche (es handelt sich um mehrere Tabellen, nicht nur um eine, wie ich ursprünglich geschrieben hatte). Von der Wartung her hat die Auslagerung in ein CSS File somit z.B. keine Vorteile.

Ich hoffe das ist alles noch nachvollziehabr. :smile:

Klar, wenn ich die Trennung von Inhalt und Darstellung einfach strikt einhalten würde, dann müsste ich mir keinen Kopf machen. Aber ich wollte mal hören, wie andere Entwickler den Sachverhalt sehen...
 
Zurück
Oben