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

Greg Hurlman Punkte 17467

Um auf das Argument "Tabellen sind langsamer" zu antworten: Sie denken an die Rendering-Zeit, was die falsche Metrik ist. Sehr oft schreiben Entwickler eine riesige Tabelle, um das gesamte Layout für eine Seite zu erstellen - was die Größe der herunterzuladenden Seite erheblich erhöht. Ob Sie es nun mögen oder nicht, es gibt immer noch eine Menge Dialup-Nutzer da draußen.

Siehe auch: Übermäßige Verwendung von ViewState

1voto

Shanimal Punkte 11276

Flex verfügt über ein Tag für die Anordnung in vertikalen Spalten. Ich glaube nicht, dass sie das ganze Layout / Inhalt Sache entweder richtig, um ehrlich zu sein, aber zumindest haben sie dieses Problem behoben.

Wie viele der Leute, die von CSS frustriert sind, habe auch ich weit und breit nach einer einfachen Antwort gesucht, wurde in ein Hochgefühl versetzt, als ich dachte, ich hätte sie gefunden, und dann wurden meine Hoffnungen zunichte gemacht, als ich die Seite in Chrome öffnete. Ich bin definitiv nicht erfahren genug, um zu sagen, dass es nicht möglich ist, aber ich habe noch niemanden gesehen, der einen Beispielcode zur Begutachtung anbietet, der eindeutig beweist, dass es zuverlässig möglich ist.

Also kann jemand von der CSS-Seite dieser Insel empfehlen eine Denkweise/Methodik für die Gestaltung von vertikalen Spalten? Ich habe versucht, absolute Positionierung in der zweiten und dritten Zeile, aber ich am Ende mit Sachen überlappen überall und float hat ähnliche Probleme, wenn die Seite verkleinert wird.

Wenn es eine Antwort auf diese Frage gäbe, würde ich mich sehr freuen - das Richtige tun - Sagen Sie mir einfach so etwas wie: "Hey, haben Sie es mit **Fluss:vertikal|horizontal" versucht, und ich bin Ihnen völlig egal.

1voto

Tim Black Punkte 9

Ich verstehe immer noch nicht ganz, wie Divs/CSS es einfacher machen, das Design einer Seite zu ändern, wenn man bedenkt, wie viele Tests nötig sind, um sicherzustellen, dass die Änderungen in allen Browsern funktionieren, insbesondere mit all den Hacks und so weiter. Es ist ein äußerst frustrierender und langwieriger Prozess, der viel Zeit und Geld verschlingt. Glücklicherweise gilt die 508-Gesetzgebung nur für die USA (das Land der Freiheit - ja, richtig), und da ich im Vereinigten Königreich ansässig bin, kann ich Websites in dem von mir gewünschten Stil entwickeln. Entgegen der landläufigen (US-) Meinung gelten die in Washington erlassenen Gesetze nicht für den Rest der Welt - Gott sei Dank. Es muss ein guter Tag in der Welt des Webdesigns gewesen sein, als das Gesetz in Kraft trat. Ich glaube, ich werde mit zunehmendem Alter und 25 Jahren in der IT-Branche immer zynischer, aber ich bin mir sicher, dass diese Art von Gesetzgebung nur dem Schutz von Arbeitsplätzen dient. In Wirklichkeit kann jeder eine vernünftige Webseite mit ein paar Tabellen zusammenstellen. Es erfordert viel mehr Aufwand und Wissen, dies mit DIVs / CSS zu tun. Meiner Erfahrung nach kann man stundenlang googeln, um Lösungen für recht einfache Probleme zu finden, und unverständliche Artikel in Foren voller idealistischer Eiferer lesen, die sich alle über die "richtige" Vorgehensweise streiten. Man kann nicht einfach den Zeh ins Wasser tauchen und die Dinge in jedem Fall richtig zum Laufen bringen. Mir scheint auch, dass das Fehlen eines endgültigen Leitfadens für die Verwendung von DIVS/CSS "out of the box", der für alle Situationen gilt, auf allen Browsern funktioniert und in "normaler" Sprache ohne Fachchinesisch geschrieben ist, auch ein wenig nach Protektionismus riecht.
Ich bin Anwendungsentwickler, und ich würde sagen, dass es fast doppelt so lange dauert, Layout-Probleme zu lösen und mit allen Browsern zu testen, als die Basisanwendung zu erstellen, Geschäftsobjekte zu entwerfen und zu implementieren und das Datenbank-Backend zu erstellen. Meine Zeit ist Geld, sowohl für mich als auch für meine Kunden, also tut es mir leid, wenn ich nicht alle Pro-DIV/CSS-Argumente zugunsten von Kosteneinsparungen und einem guten Preis-Leistungs-Verhältnis für meine Kunden zurückweise. Vielleicht ist es nur die Art und Weise, wie Entwickler denken, aber es scheint mir viel einfacher zu sein, eine komplexe Tabellenstruktur zu ändern, als DIVs / CSS zu modifizieren. Glücklicherweise scheint es jetzt eine Lösung für diese Probleme zu geben - sie heißt WPF.

1voto

workmad3 Punkte 24502

Divs und CSS-Positionierung ermöglichen ein flexibleres Design, was zu einer einfacheren Änderung und Schablonierung Ihrer Webseiten führt.

Das heißt, wenn Sie nicht in der Flexibilität interessiert sind, dann mit einer Tabelle statt einige divs, die in eine Tabelle durch CSS gemorpht werden, ist definitiv viel einfacher und schneller zu klopfen. Ich neige dazu, Tabellen zu verwenden, wenn ich ein Design entwerfe, nur um es schneller richtig aussehen zu lassen.

1voto

Ich habe einmal gelernt, dass eine Tabelle auf einmal geladen wird, d.h. wenn die Verbindung langsam ist, bleibt der Bereich, in dem die Tabelle steht, leer, bis die gesamte Tabelle geladen ist, ein Div hingegen wird von oben nach unten geladen, so schnell wie die Daten kommen und unabhängig davon, ob sie bereits vollständig sind oder nicht.

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