In der modernen Webentwicklung stoße ich immer öfter auf dieses Muster. Es sieht aus wie das:
<div class="table">
<div class="row">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
</div>
Und in CSS gibt es so etwas wie:
.table { display: table; }
.row { display: table-row; }
.cell { display: table-cell; }
* (Klassennamen dienen nur der Veranschaulichung; im wirklichen Leben sind dies normale Klassennamen, die widerspiegeln, worum es bei dem Element geht.)
Ich habe es kürzlich sogar selbst versucht, weil ... weißt du, jeder macht es.
Aber ich verstehe es immer noch nicht. Warum machen wir das? Wenn Sie einen Tisch brauchen, dann machen Sie einfach eine Sprengung <table>
und fertig. Ja, auch wenn es für das Layout ist. Dafür sind Tische da - Sachen tabellarisch auslegen.
Die beste Erklärung, die ich habe, ist, dass mittlerweile jeder das Mantra "Keine Tabellen für das Layout verwenden" gehört hat und es daher blind befolgt. Aber sie brauchen immer noch eine Tabelle für das Layout (weil nichts anderes die Erweiterungsmöglichkeiten einer Tabelle hat), also machen sie eine <div>
(weil es keine Tabelle ist!) Und fügen dann CSS hinzu, das es sowieso zu einer Tabelle macht.
Für die ganze Welt scheint mir dies, als würde ich Ihnen willkürlich unnötige Hindernisse in den Weg stellen und dann zusätzliche Arbeit leisten, um diese zu umgehen.
Das ursprüngliche Argument für die Abkehr vom Tabellenlayout war, dass es schwierig ist, ein Tabellenlayout nachträglich zu ändern. Das Ändern eines "Faux-Table" -Layouts ist jedoch aus den gleichen Gründen genauso schwierig. Tatsächlich ist das Ändern eines Layouts in der Praxis immer schwierig und es reicht fast nie aus, nur das CSS zu ändern, wenn Sie etwas Ernsthafteres als geringfügige Änderungen vornehmen möchten. Sie werden verstehen müssen und HTML - Struktur für schwere Konstruktionsänderungen zu ändern. Und Tische machen die Arbeit nicht schwieriger oder einfacher als Divs.
In der Tat, ich die einzige Möglichkeit sehen , dass Tabellen ein Layout schwierig machen könnten zu ändern, ist , wenn Sie ab sie verwendet und erstellt ein gottlos Chaos. Das kannst du auch mit divs machen.
Also ... in dem Versuch, dies von einem Schimpfen in eine zusammenhängende Frage umzuwandeln: Was fehle ich? Was sind die tatsächlichen Vorteile der Verwendung eines "Faux-Tisches" gegenüber einem echten?
Über den doppelten Link: Dies ist kein Vorschlag, ein anderes Tag oder etwas anderes zu verwenden. Dies ist eine Frage über eine mit <table>
vs display:table
.
table-layout:fixed
, muss sie vollständig geladen werden, bevor sie angezeigt werden kann. Bei modernem Breitband ist dieser Effekt einfach weniger spürbar.