664 Stimmen

Warum nicht Tabellen für das Layout in HTML verwenden?

Es scheint die allgemeine Meinung dass Tabellen nicht für das Layout in HTML verwendet werden sollten.

Warum?

Ich habe noch nie (oder nur selten, um ehrlich zu sein) gute Argumente dafür gesehen. Die üblichen Antworten sind:

  • Es ist gut, dass Inhalt vom Layout trennen
    Aber das ist ein trügerisches Argument; Klischee-Denken . Ich denke, es stimmt, dass die Verwendung des Tabellenelements für das Layout wenig mit tabellarischen Daten zu tun hat. Aber was soll's? Ist es meinem Chef egal? Interessiert es meine Benutzer?

    Vielleicht interessiert es mich oder meine Entwickler-Kollegen, die eine Webseite pflegen müssen... Ist eine Tabelle weniger wartungsfreundlich? Ich denke, eine Tabelle zu verwenden ist einfacher als mit divs und CSS.

    Übrigens... warum ist die Verwendung eines Divs oder eines Spans eine gute Trennung von Inhalt und Layout und eine Tabelle nicht? Ein gutes Layout mit nur divs erfordert oft eine Menge von verschachtelten divs.

  • Lesbarkeit des Codes
    Ich denke, es ist genau umgekehrt. Die meisten Leute verstehen HTML, nur wenige verstehen CSS.

  • Für SEO ist es besser, keine Tabellen zu verwenden
    Warum? Kann jemand einen Beweis dafür vorlegen, dass es so ist? Oder eine Aussage von Google, dass von Tabellen aus SEO-Sicht abgeraten wird?

  • Die Tische sind langsamer.
    Es muss ein zusätzliches tbody-Element eingefügt werden. Für moderne Webbrowser sind das Peanuts. Zeigen Sie mir einige Benchmarks, bei denen die Verwendung einer Tabelle eine Seite erheblich verlangsamt.

  • Eine Überarbeitung des Layouts ist ohne Tabellen einfacher, siehe css Zen-Garten .
    Die meisten Websites, die ein Upgrade benötigen, brauchen auch neue Inhalte (HTML). Szenarien, in denen eine neue Version einer Website nur eine neue CSS-Datei benötigt, sind nicht sehr wahrscheinlich. Zen Garden ist eine nette Website, aber ein bisschen theoretisch. Ganz zu schweigen von seiner missbrauchen von CSS.

Ich bin wirklich an guten Argumenten für die Verwendung von Divs + CSS anstelle von Tabellen interessiert.

0voto

Sicherlich war der OP ein wenig aufgesetzt, die Argumente scheinen so schwach und leicht zu widerlegen.

Webseiten sind die Domäne von Webentwicklern, und wenn sie sagen, dass div und CSS besser sind als Tabellen, dann ist das für mich gut genug.

Wenn ein Layout durch Tabellen erreicht wird, die von einer Serveranwendung generiert werden, dann bedeutet ein neues Layout Änderungen an der Anwendung, einen Neuaufbau und ein Redesign der Anwendung, im Gegensatz zu bloßen Änderungen an einer CSS-Datei.

Außerdem: Barrierefreiheit. Tabellen, die für das Layout verwendet werden, machen eine Website unzugänglich, daher sollten Sie sie nicht verwenden. Das ist eine Selbstverständlichkeit und nicht zuletzt illegal.

-1voto

Niklas Rosencrantz Punkte 23722

Daten: Verwenden Sie Tabellen. Layout: Verwenden Sie Stile. Tabellen lassen sich am schnellsten mit einem sehr schlanken Browser rendern, das heißt, Links 2 oder Luchs ohne Styling, nur mit einfachem Markup.

-1voto

WYSIWYG!!! Ich kann unsere Designer beim besten Willen nicht davon abbringen, verschachtelte DIVS und "styled by elementID css" in Vorlagen zu verwenden, die von Kunden in CMS-Projekten genutzt werden sollen. Genau das ist der Sinn eines WYSIWYG-Online-Editors. Sie kontrollieren sowohl den Inhalt als auch das Layout zur gleichen Zeit! In diesem Szenario gibt es überhaupt keine Trennung mehr. Positionierte und gestylte Divs in einem externen Stylesheet sind ein Gräuel für die Idee der WYSIWYG-Bearbeitung. Man kann Tabellen sehen, Zeilen einfügen, Zellen kombinieren und so weiter. Viel Glück beim Versuch, dies mit Divs auf eine Weise zu erreichen, die die Benutzer nicht frustriert.

-3voto

Petras Punkte 4504

Es muss nicht unbedingt ein Krieg sein. Harmonie ist möglich.

Verwenden Sie eine Tabelle für das Gesamtlayout und Divs darin.

<table> 
    <tr><td colspan="3"><div>Top content</div></td></tr>
    <tr> 
        <td><div>Left navigation</div></td> 
        <td><div>Main content</div></td> 
        <td><div>Right navigation</div></td> 
    </tr>
    <tr><td colspan="3"><div>Bottom content</div></td></tr>
</table>

Sehen Sie - keine verschachtelten Tabellen.

Ich habe so viele Artikel darüber gelesen, wie man dies mit Divs erreichen kann, aber ich habe nie etwas gefunden, das jedes Mal ohne Probleme funktioniert.

Divs sind großartig, sobald Sie die allgemeine Struktur haben, aber ganz offen gesagt, Fluid Header / Footer und drei flüssige Spalten ist ein totaler Schmerz in divs. Divs wurden nicht für Fluidität konzipiert, also warum sie verwenden?

Beachten Sie, dass Sie mit diesem Ansatz eine 100 %ige CSS-Konformität bei Linktext

-5voto

MonkeyBrother Punkte 353

Ich habe festgestellt, dass selbst bei bester Planung die Divs in mehrfacher Hinsicht zu kurz kommen. Zum Beispiel gibt es keine Möglichkeit, mit divs eine untere Leiste zu haben, die immer am unteren Rand des Browsers sitzt, selbst wenn der Rest des Inhalts nicht bis zum unteren Rand des Browsers reicht. Außerdem ist es nicht möglich, auf elegante Weise mehr als drei Spalten einzurichten, und man kann keine Spalten haben, die entsprechend der Breite ihres Inhalts wachsen und schrumpfen. Letztendlich versuchen wir, zuerst divs zu verwenden. Wir werden unsere HTML-Designs jedoch nicht auf der Grundlage eines religiösen Ideals von Inhalt und Layout einschränken.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X