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.

1voto

Allen Hardy Punkte 171

Wenn Sie die Tabellenansicht unterstützen, suchen Sie eine Website mit Tabellen und besorgen Sie sich einen Screenreader - schalten Sie den Screenreader aus und schalten Sie Ihren Monitor ab.

Probieren Sie es dann mit einer schönen, semantisch korrekten Div-Layout-Seite.

Sie werden den Unterschied bemerken.

Tabellen sind nicht böse, wenn die Daten in ihnen tabellarisch sind und nicht zum Layout der Seite dienen.

1voto

Simon Measures Punkte 1

Google räumt Textinhalten, die in einer Tabelle enthalten sind, eine sehr geringe Priorität ein. Ich habe einer lokalen Wohltätigkeitsorganisation einige SEO-Ratschläge gegeben. Als ich ihre Website untersuchte, verwendete sie Tabellen für das Layout der Website. Egal, welche Wörter - oder Wortkombinationen - ich in das Google-Suchfeld eingab, die Seiten tauchten auf keiner der Top-Seiten auf. (Wenn ich jedoch die Website in der Suche angab, wurde die Seite angezeigt.) Eine Seite war nach normalen Maßstäben so gut geschrieben, dass sie bei einer Suche ein gutes Ergebnis lieferte, aber trotzdem erschien sie auf keiner der ersten Seiten der Suchergebnisse. (Dieser Text befand sich in einer Tabelle.) Ich entdeckte dann einen Textabschnitt auf den Seiten, der in einem Div und nicht in einer Tabelle stand. Wir gaben einige der Wörter aus diesem Div in die Suchmaschine ein. Das Ergebnis? Es kam auf Platz 2 der Suchergebnisse.

1voto

Manrico Corazzi Punkte 11151

Ich glaube, dass diese Frage mit einem allgemeinen Problem zusammenhängt. Als HTML geboren wurde, konnte niemand seine weite Verbreitung vorhersehen. Eine weitere Technologie, die beinahe unter dem Gewicht ihres eigenen Erfolgs zusammengebrochen wäre. Als HTML-Seiten noch in vi Auf einem grünen Textterminal genügte eine TABELLE, um den Besuchern der Seite Daten zu präsentieren, und es handelte sich meist um Daten, die in tabellarischer Form Sinn machten.

Wir alle wissen, wie sich die Dinge entwickelt haben. TABLEs sind erst vor kurzem aus der Mode gekommen, aber es gibt viele Gründe, DIVs und CSS-basierte Layouts zu bevorzugen (die Barrierefreiheit ist nicht der letzte davon). Natürlich kann ich kein CSS schreiben, um mein Leben zu retten :-) und ich denke, dass ein Experte für grafisches Design immer zur Hand sein sollte.

Dennoch gibt es viele Daten, die auch auf einer modernen Website in einer Tabelle dargestellt werden sollten.

1voto

Rimian Punkte 34365

Ich habe mich vor einigen Jahren mit dem Thema Bildschirmlesegeräte und Tabellen beschäftigt und bin dabei auf Informationen gestoßen, die dem widersprechen, was die meisten Entwickler glauben:

http://www.webaim.org/techniques/tables/

"Sie werden wahrscheinlich von einigen Verfechtern der Barrierefreiheit hören, dass Layout-Tabellen eine schlechte Idee sind und dass stattdessen CSS-Layout-Techniken verwendet werden sollten. An dieser Aussage ist etwas Wahres dran, aber um ehrlich zu sein, ist die Verwendung von Tabellen für das Layout nicht das Schlechteste, was man im Hinblick auf die Barrierefreiheit tun kann. Menschen mit allen Arten von Behinderungen können problemlos auf Tabellen zugreifen, solange die Tabellen mit Blick auf die Zugänglichkeit gestaltet werden. "

1voto

Richard Punkte 9444

Aus Erfahrung würde ich mich für die DIVs entscheiden. Selbst in der OOP besteht das Hauptziel darin, die Kopplung zwischen Objekten zu verringern, und dieses Konzept kann auf DIVS und Tabellen angewandt werden. Tabellen werden für die Speicherung von Daten verwendet, nicht für deren Anordnung auf einer Seite. Ein DIV ist speziell dafür konzipiert, Elemente auf einer Seite anzuordnen, daher sollte das Design DIVs verwenden, Tabellen sollten zum Speichern von Daten verwendet werden.

Außerdem ist die Bearbeitung von Websites, die mit Tabellen erstellt wurden, einfach nur schwierig (meiner Meinung nach).

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