Element anstelle von ?

StackOverflow https://stackoverflow.com/questions/819237

  •  03-07-2019
  •  | 
  •  

Frage

Duplizieren von:


Theres in letzter Zeit eine Menge Gerede über eher mit div als Tabellen-Tags Ihre Seiten Browser fiendly zu machen. Warum ist div besser?

War es hilfreich?

Lösung

ein paar Gründe:

1) div ist semantisch korrekt in den meisten Fällen. Menschen, die ihre Websites in Tabellenstruktur Code verwenden keine Tabellen für das, was sie für gemacht ist, die tabellarischen Daten. divs stellt eine „Division“ oder einen Abschnitt der Seite, so Artikel in divs setzen ist richtig.

2) divs sind flexibler und leichter zu frisieren und pflegen. Sie müssen nicht jedes Mal, wenn Sie etwas sagen wollen, schreiben <table><tr><td>Text here</td></tr></table> wenn Sie <div>Text here</div> stattdessen nur schreiben kann. Sie können sowohl für CSS Haken (dh Klassen oder Elemente) in Tabellen und divs, aber mit divs es ist unendlich viel flexibler.

3) Tabelle strukturierte Seiten sind einfach nur hässlich:)

Andere Tipps

Der entscheidende Punkt hier ist sie für das Layout verwenden. Es ist nichts falsch mit Tabellen für tabellarische Daten , wohlgemerkt. Das ist, was sie für.

Aber wenn Sie Tabellen für das Layout verwenden Sie eine sehr starre Seitenstruktur schaffen, die in der Regel nicht gut spielen mit unterschiedlichen Bildschirmgrößen, User-Agents (man denke mobile Browser oder Bildschirmleser für Blinde Menschen. Vor allem im letzteren Fall sind Sie zu zerstören, in denen jede um den Inhalt an den Benutzer gelesen werden soll). Leider sind Tabellen immer noch eine der stabilsten Mechanismen eine Seite zu legen, da es kaum unterschiedliche Implementierungen sind und sie arbeiten seit über einem Jahrzehnt fehlerlos-CSS ist eine ganz andere Sache hier.

Aber es kommt im Grunde auf Folgendes:

Tabellen

  • verletzt die Unterscheidung von Inhalt und Präsentation
  • sind unhandlich und wartbaren auf lange Sicht, vor allem wenn man versucht, das Layout von mehreren Seiten auf eine ähnliche Art und Weise zu ändern
  • hat keine starke semantische Bedeutung, die für beeinträchtigte Menschen wichtig ist, die nur auf Vorlesetext verlassen können. Die Tische sind hier Zeile für Zeile, Spalte für Spalte gelesen, die fast immer ist nicht sehr hilfreich bei der tabellenbasierten Layouts

CSS-Layout

  • ist härter nach rechts (zumindest für die Präsentation) zu erhalten
  • (manchmal) eine saubere Trennung von Inhalt und Darstellung ermöglicht. Beachten Sie manchmal, wie Sie oft mehrere Container-Elemente in HTML verwenden müssen für einige Layouts und Designs zu ermöglichen, richtig zu arbeiten, da CSS hat einige Einschränkungen
  • ermöglicht eine bessere semantische Bedeutung des zugrunde liegenden Markup iff Sie verwenden Sie nicht blind <div> und <span>. Es gibt viele Variablen, die eine Bedeutung haben und sollten als solche verwendet werden. Zum Beispiel nicht <div class="heading1"> verwenden, wenn Sie <h1> nutzen könnten.

Da eine Tabelle, die eine semantische Bedeutung vermittelt - ist, dass Sie derzeit Tabellendaten wie h1 Anzeige bedeutet, dass Sie eine Überschrift haben. Also, wenn Sie Tabellen verwenden, um Ihre Ausgabe zu formatieren Sie die Interpretation der Semantik des Codes sind irreführend.

Dies kann beispielsweise zu Fragen der Zugänglichkeit für Menschen führen einen Bildschirmleser.

div verwenden ist besser, als wegen der einfachen Steuerung der in der Gestaltung mit Tisch und es kann Container für Kontrollen als Tisch und der Tisch mainlt mit simillar Struktur Gruppendaten verwendet, so dass es Design ist für diese Aufgabe ist aber div ist betrachtet als Behälter hauptsächlich als Tisch. Ich habe den Unterschied zwischen gefunden, wenn viele Kontrollen zu sammeln und in die ich den Behälter steuern kann, aber in der Tabelle i verwechselt habe, weil ich nach innen einsetzen müssen und seine ineinander Looping.

die meisten Menschen gehen, wie Tabelle soll nur für Daten verwendet werden, und es stellt Performance-Problem, wenn Sie es für Layoutzwecke verwenden. Auch wird angenommen, flexibler zu sein, weil Sie machen können

links fließt, fließt direkt und überall sonst fließen.

Allerdings IMHO tut es nicht der Mühe wert. Vor allem, wenn Sie Spalten von Kontrollen haben, die angeblich richtig mit den entsprechenden Etiketten in einer Reihe aufstellen, dauert es einfach zu lange Dinge zu bekommen richtig ausrichten.

Mit Tabellen für das Layout waren für Web-Design revolutionär, aber das war vor fünfzehn Jahren, und es gab keine andere Alternativen. Es ist wegen dieser Geschichte, die Tische sind auch für das Layout heute betrachtet.

CSS-basierte Layout ist viel flexibler als Tabelle basiert Layout. Es gibt noch ein paar Dinge, die mit Tabellen einfacher zu bewerkstelligen sind, aber auf der anderen Seite gibt es eine Menge Dinge, die sehr einfach mit CSS zu tun, die sehr kompliziert oder unmöglich ist, mit Tabellen zu tun.

Ich sage Ihnen meine persönlichen Hauptgründe für die Verwendung von div-Tags:

  • Tabellen haben nur ein statisches Gitter während divs sind dynamisch: Eine Tabelle der ersten Reihe definiert alle cols (wie in MS Excel). In den nächsten Zeilen können Sie nur diese Spalten kombinieren, aber Sie können nicht das grundlegende Layout ändern Sie in Ihrer ersten Reihe definiert haben. Divs sind dynamisch: Sie können ein Patchwork erstellen, lassen divs überlappen oder etwas Platz setzen zwischen. Irgendwas du willst. Sie sind nicht in Reihen zu denken gezwungen. Du bist frei. Viel mehr Flexibilität.

  • Tabellen verursachen Rendering und Cross-Browser-Inkompatibilitäten: Tabellen sehen nicht immer identisch. Jeder Browser gibt Ihnen seine eigene Interpretation der Tabelle und deren Inhalt. So viele unangenehme Überraschungen. Ein Browser zeigt Ihnen Ihren normalen Text als fette Schrift. Ein weiterer Browser, um Ihre Tabelle mehr oder weniger Spielraum für andere HTML-Elemente gibt, damit die Tabellen nicht gut positioniert. Es ist Stunden Arbeit, diese Probleme mit komplizierten Abhilfen zu beheben. Divs schaut immer das gleiche in allen Browsern. Auch der IE (der als Querulant zu webprogrammers bekannt ist) verursacht weniger Probleme, wenn Sie divs verwenden.

  • Divs machen schneller: Divs laden schneller als Tabellen. Schnelles Surfen zwischen den Seiten. Bessere Optik und Haptik.

Hoffe, es hilft. Prost.

Ich bin mit CSS und Tabellen und manchmal DIVs, aber die Tische sind so umfassend! Und sie sehen so schön in Dreamweaver, Frontpage ... Es ist so schwer Tabellen zu geben, aber es scheint, wie ich will, weil es notwendig ist, um meine Seiten laden schneller zu machen!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top