div vs. table
Thomas123
- html
ich will mal wieder das bestimmt schon 1000fach diskutierte thema div vs. table ansprechen.
das man für layout sachen wie zb ein homepagetemplate keine tabellen benutzen sollte ist allerdings nicht das thema in diesem threat.
ich hab ein anderes anliegen. erstmal eine ausgangssytuation:
das html/css template ist fertig. alles ohne tabellen nur mit div's.
jetzt kommen wir aber zum content. sollte im content auch auf tabellen verzichtet werden? ich meine hier nicht zum layout, sondern tabellen die einfach auch als tabellen dargestellt werden. also richtige tabellen mit daten drin......
Moin,
jetzt kommen wir aber zum content. sollte im content auch auf tabellen verzichtet werden? ich meine hier nicht zum layout, sondern tabellen die einfach auch als tabellen dargestellt werden. also richtige tabellen mit daten drin......
es ist ja nicht so, dass Tabellen böse Elemente wären.
Wenn du tabellarische Daten anzeigenn willst, dann ist es natürlich legitim und semantisch korrekt dafür das table-Element zu benutzen.
MfG,
Juan
ja aber was ist der vorteil von:
<html><head><title>display</title>
<style type="text/css">
div.table { display:table; border-collapse:collapse; }
div.tr { display:table-row; }
div.td { display:table-cell; border:thin solid red; padding:5px; }
</style>
</head><body>
<div class="table">
<div class="tr">
<div class="td">ich</div>
<div class="td">bin</div>
<div class="td">eine</div>
<div class="td">Tabelle</div>
</div>
</div>
</body></html>
http://de.selfhtml.org/css/eigenschaften/positionierung.htm#display
das dies nur für xml sinn macht glaube ich noch nicht ganz. wie sieht es eigentlich mit dem html rendering an. ist table da langsamer oder schneller als div. in der heutigen zeit macht das zwar wahrscheinlich nicht viel aus, aber kleinvieh mach auch mist.
ja aber was ist der vorteil von:
...
Ich sehe da keinen Vorteil. Der Nachteil ist nur, dass du völlig sinnfrei divs verwendest, wo eigentlich eine Tabelle hingehört. Denke z.B. auch an die 'alten' Browser, die dieses CSS nicht verstehen. Die würden dann die einezelnen Elemente blöd untereinander darstellen, was nicht gerde übersichtlich ist.
wie sieht es eigentlich mit dem html rendering an. ist table da langsamer oder schneller als div. in der heutigen zeit macht das zwar wahrscheinlich nicht viel aus, aber kleinvieh mach auch mist.
Table ist wohl entweder schneller oder etwa gleichschnell. Wieso sollte das rumgespiele mit den divs einen Vorteil bringen?
Hallo Jonathan.
ist table da langsamer oder schneller als div.
Table ist wohl entweder schneller oder etwa gleichschnell.
Nein, nicht ganz. Tabellen werden meist erst dann angezeigt, wenn ihr Inhalt komplett empfangen wurde und die Aufteilung und Dimensionen der Zellen ermittelt werden können.
Dem entsprechend werden div-Elemente schneller als Tabellen aufgebaut.
(Nein, dies ist kein Plädoyer für den sinnfreien Einsatz von div-Elementen.)
Einen schönen Freitag noch.
Gruß, Ashura
hi
Dem entsprechend werden div-Elemente schneller als Tabellen aufgebaut.
(Nein, dies ist kein Plädoyer für den sinnfreien Einsatz von div-Elementen.)
tauscht man die im beispiel befindlichen divs z.b. gegen eine unsortierte liste bzw. deren elemente aus, kann man ohne große mühe eine sematisch korrekte navigation erstellen ohne auf den "layout-komfort" den man von tabellen gewohnt ist verzeichten zu müssen.
Das Beispiel, welches ja aus SelfHTML stammt ist imho nur unglücklich besetzt :)
so long
Ole
(8-)>
Hallo,
tauscht man die im beispiel befindlichen divs z.b. gegen eine unsortierte liste bzw. deren elemente aus, kann man ohne große mühe eine sematisch korrekte navigation erstellen ohne auf den "layout-komfort" den man von tabellen gewohnt ist verzeichten zu müssen.
Im Sinne der Barrierefreiheit wohl nicht korrekt, da !=IE-kompatibel
War auch schon mal ganz geil auf css-tabelling zu layoutzwecken!
bydey
Nein, nicht ganz. Tabellen werden meist erst dann angezeigt, wenn ihr Inhalt komplett empfangen wurde und die Aufteilung und Dimensionen der Zellen ermittelt werden können.
Mein Firefox baut große Tabellen auch auf, während die noch geladen werden.
Aber selbst wenn Tabellen 'in einem Rutsch' dargestellt werden, ist vermutlich die Darstellung von Tabellen gegenüber divs schneller.
-Die Dimensionen müssen nur ein einziges mal berechnet werden
-Die Tabelle muss nur ein einziges mal gezeichnet werden
-CSS muss nicht verarbeitet werden
Hallo Jonathan.
Mein Firefox baut große Tabellen auch auf, während die noch geladen werden.
Mein Opera und der IE nicht.
Aber selbst wenn Tabellen 'in einem Rutsch' dargestellt werden, ist vermutlich die Darstellung von Tabellen gegenüber divs schneller.
Nein, wohl eher nicht.
-Die Dimensionen müssen nur ein einziges mal berechnet werden
-Die Tabelle muss nur ein einziges mal gezeichnet werden
-CSS muss nicht verarbeitet werden
Zu allen dreien: Hast du Belege dafür?
Wer sagt, dass die Tabelle nicht jedes Mal komplett neu gerendert wird? Und warum sollte CSS auf Tabellen nicht angewandt werden, welches die Dimensionen beeinflussen kann?
Einen schönen Freitag noch.
Gruß, Ashura
-Die Dimensionen müssen nur ein einziges mal berechnet werden
-Die Tabelle muss nur ein einziges mal gezeichnet werden
-CSS muss nicht verarbeitet werdenZu allen dreien: Hast du Belege dafür?
Wer sagt, dass die Tabelle nicht jedes Mal komplett neu gerendert wird? Und warum sollte CSS auf Tabellen nicht angewandt werden, welches die Dimensionen beeinflussen kann?
War nur ne hypothese von mir, die ich nicht beweisen kann und will.
Mit 'CSS muss nicht verarbeitet werden' meine ich nicht, dass generell kein CSS verarbeitet werden muss, sondern dass der browser nicht suchen muss, welche CSS-Regeln z.B. die klasse "table-cell" haben.
Bei den anderen beiden Punkten verstehe ich nicht, was du meinst. Aber ist ja auch egal. Ich denke, wir sollten das Thema abhaken.
Gruß, Jonathan
Hallo Thomas,
Dein Beispiel sollte man NUR als Ersatz für Layout-Tabellen verwenden.
Bei tatsächlich tabellarischen Daten wie z.B. Sportergebnissen nimnmt man natürlich <table>, usw. zur Strukturierung. Ohne das CSS ergibt Deine Konstrukt nämlich keinen Sinn. <div> ist ja nur ein Container, der andere Elemente umschließt/gruppiert.
Mit XML hat das nichts zu tun. Da stehen aussahefähige, logische Aufbauten im Vordergrund. Dein Beispiel in XML wäre mit <table> sinnvoller als mit <div> umzusetzen, klar?
Der Vorteil Deines Beispiels ist, dass ohne CSS die Elemente einfach untereinander gelistet werden und je nach Ausgabemedium skalieren. Bei Tabellen ist das nicht der Fall, weil sie durch Reihen und Zellen eine feste Struktur implizieren. Deine Beispiel-Container lassen sich mittels CSS dagegen in fast beliebiger Reihenfolge anordnen.
Ob langsames oder schnelleres Rending hängt von der Implementation ab und sollte bei der Gestaltung von HTML keine Rolle spielen.
Gruß
Hallo,
ich will mal wieder das bestimmt schon 1000fach diskutierte thema div vs. table ansprechen.
das man für layout sachen wie zb ein homepagetemplate keine tabellen benutzen sollte ist allerdings nicht das thema in diesem threat.
ich hab ein anderes anliegen. erstmal eine ausgangssytuation:
das html/css template ist fertig. alles ohne tabellen nur mit div's.
jetzt kommen wir aber zum content. sollte im content auch auf tabellen verzichtet werden? ich meine hier nicht zum layout, sondern tabellen die einfach auch als tabellen dargestellt werden. also richtige tabellen mit daten drin......
Natürlich nicht!
Wer ächtet denn Tabellen die tabellarische Daten darstellen.
html hat für fast alle Daten/ Informationen die passenden Elemente zur richtigen Strukturierung. Die sollst du ach verwenden!
Es gibt mit Sicherheit diskusionwürdige Grenzfälle. Deiner ist keiner.
bydey