Das macht mich jedes Mal verrückt, wenn ich es sehe. Warum ist die Verwendung von div
Elementen fast eine Obsession?Warum wollen die meisten Menschen TABLEs in HTML vermeiden und DIVs für alles verwenden?
Ich verstehe, warum in der Auszeichnungs meist div
s, jeweils mit einem id
oder (noch besser) ein className
kann eine saubere Markup helfen zu entwickeln und Kontrolle der optischen Veränderungen zu halten. Ich sehe zum Beispiel immer wieder Fragen darüber, wie divs sich wie eine Tabelle verhalten, und selbst wenn ihnen gesagt wird, dass etwas nicht mit der x- oder y-Browser-Version kompatibel ist, wollen sie immer noch Folgendes tun:
<div style="display: table">
<div style="display: table-row">
<div style="display: table-cell">Content</div>
<div style="display: table-cell">Content</div>
</div>
<div style="display: table-row">
<div style="display: table-cell">Content</div>
<div style="display: table-cell">Content</div>
</div>
</div>
Warum? ... wirklich: Warum?
Warum ist das besser als mit einem table
? Oder warum benutzt man Tabellen, die abscheulich sind?
Tabellen sind Teil von HTML
Elementen. Sie existieren aus einem bestimmten Grund und haben einen guten Zweck. Sie sind nicht veraltet und werden nicht in absehbarer Zeit (oder früher als div
s) verschwinden. Und am wichtigsten: Sie verhalten sich in allen Browsern korrekt & Versionen!
Also ... warum die Obession mit div
s sich wie Tabellen verhalten? Warum schreiben so viele Leute auf diese Weise und sind dann stolz auf etwas so Dreckiges?
Dies ist nicht exklusiv für table
s. Ich sehe ständig div
s ersetzt alle html
Elemente, wie h1
.. h6
, span
s usw.
Warum ??
Ich würde sagen, dass es Semantik ist. Wenn Leute Überschriften durch div-Elemente ersetzen, macht das keinen Sinn. Aber wenn Sie Ihr Layout in Tags verpacken, die für Tabellendaten bestimmt sind, dann ist das auch eine falsche Semantik. Mit dem 'display' Attribut ändern Sie lediglich das Aussehen, aber ein' td' würde tabellarische Daten beinhalten, die Ihr Inhalt nicht sein könnte. – slhck
Verwenden Sie immer die richtige Semantik zum Beschreiben Ihrer Daten (die richtigen Tags) und dann CSS, um Ihr richtiges Styling/Layout zu erhalten.Alle HTML-Tags haben eine semantische Bedeutung, daher beschreiben Sie Ihre Daten ('table' für Tabellendaten,' h1', 'h2', ... für Überschriften, ...) (_div hell_ ist so schlecht wie _table hell_) –
Es heißt Divitis. Es gibt einen Impfstoff, der semantisches Markup genannt wird, aber einige Leute sind dieser Art von Religion abgeneigt. – BoltClock