Fragen nur, was die grundlegenden Vor- und Nachteile von für CSS-Styling bzw. Tabellen.Pros und Contras von Tabellen vs. CSS für grundlegende Formatierung
Antwort
Ich kann dazu kommentieren. Eine Google-Suche bringt Ihnen "konventionelles Widsom", aber der Grund, warum Sie zu StackOverflow kommen, ist der Rat von Fachleuten, die dies seit Jahren tun. Front-End-Web-Entwicklung ist etwas, was Sie nicht aus einem Buch oder einer Google-Abfrage lernen können. Es ist etwas, das Sie lernen, indem Sie Dinge erstellen und in den Browsern des Tages zur Arbeit bringen. Ich mache das seit 2002.
kann eine Menge zu diesem Thema gesagt werden, aber die kurzen ist, dass Tabellen-Layout Steifigkeit und Sperre Layout Flexibilität . Wenn Sie Markup schreiben, das nur mit CSS neu formatiert werden muss, verwenden Sie keine Tabellen. Ich sage Starrheit, weil die Spalten in einer Tabelle nie brechen können. <TD/><TD/>
wird immer links sein, egal was passiert. Du wirst nie Scheiße bekommen, wenn du dich überschneidest oder einen Block unter dem anderen Block wickelst oder irgendetwas anderes Seltsames. Tabellen sind 100% zuverlässig für das Layout.
Natürlich rede ich nur über das Erstellen von Spalten. Für alles andere sind DIVs offensichtlich alles, was Sie brauchen. Aber selbst für ein säulenförmiges Layout haben Tabellen Nachteile. Extra-Markup Cellpadding kann nicht mit nur CSS über Browser hinweg auf Null gesetzt werden, so dass Sie dieses Markup ebenfalls benötigen. Tabellen stellen einen ganz neuen CSS-Anzeigetyp dar, sodass Ihr bestehendes Wissen über Anzeige: Block und Anzeige: Inline möglicherweise unbrauchbar wird. Auch Tische sind flexibel in ihrer Breite. Was bedeutet, dass ein TD etwa 300 Pixel breit sein sollte und dafür kein Platz im Fenster ist, wird es schmaler. Aus diesem Grund setzen viele Leute DIVs in ihre TDs und setzen die Breite auf DIV. In diesem Fall ist es völlig starr. Aber es ist extra Markup.
Warum nicht einfach CSS verwenden? Dies beinhaltet einen von zwei CSS-Hacks für Spalten, entweder a) absolute Position oder b) float. Keines davon ist das, was man "im Layoutfluss" der Seite nennt, was alles schwierig und fehleranfällig macht. Doable, aber Sie müssen sich fragen, warum verbringen Sie die Zeit dafür?
Ein falscher Nachteil von Tabellen ist Bildschirmleser. Sie lesen gut, reihenweise zuerst gefolgt von der Zelle. Wenn Ihre Seite zehn Bildschirme lang und eine einzelne Tabelle enthält, liest sie die gesamte Spalte 1, bevor sie zu Spalte 2 gelangt. Was sollte sie sonst noch tun? Wenn es etwas anderes tun sollte, brechen Sie Ihr Layout in gestapelte Tabellen mit expliziten Spaltenbreiten.
Ein echter Nachteil von Tabellen besteht darin, dass jedes Element weniger eigenständig ist, wenn das Markup von einem serverseitigen Framework wie ASP.NET oder GWT stammt. Sie sind nicht mehr nur DIVs mit einer Klasse, die isoliert ausgegeben werden kann, sondern sie müssen im Kontext einer umgebenden TABLE-Struktur ausgegeben werden.
Ich neige dazu, Tabellen zu verwenden. Es ist nicht "PC", aber es funktioniert mit wenig Aufwand. Ich könnte einen großen Nachteil von ihnen vermissen und wenn ja, fühlen Sie sich frei zu kommentieren.
CSS ist der Industriestandard, zuerst einmal. Das Entwerfen von Websites mit Tabellen ist seit einigen Jahren nicht mehr in Mode.
Der Hauptgrund dafür ist, dass Tabellen nicht wirklich dazu gedacht sind, Elemente zu positionieren - die Art, wie sie strukturiert sind, macht es für mobile Geräte, Text-to-Speech-Reader und andere schwierig Zugänglichkeitstechnologie, um sie zu durchqueren.
Und ja, was Brian gesagt hat.
- 1. Pros & Contras von BigQuery vs. Amazon Redshift
- 2. Pros/Contras der binären Referenz VS WCF
- 3. SQL-Konfiguration: Pros & Contras
- 4. ServiceBus Architektur Pros und Contras
- 5. Proguard vs Redex von Facebook - Pros und Contras
- 6. Verwenden von WebServiceHostFactory Pros & Contras
- 7. Pros/Contras von Stream [Reader/Writer]
- 8. Pros/Contras verschiedener ASP.NET-Caching-Optionen
- 9. Pros/Contras - Encrypting File System (EFS) vs Transparent Data Encryption (TDE) für SQL-Server
- 10. Mit Ajax Post, Get, Put, Löschen usw. Vs HTML-Post und nur im Frühjahr Pros und Contras
- 11. Pros und Contras zum Setzen eines Db-Kontexts in statische Klassenbibliothek
- 12. Grundlegende Python-String-Formatierung.
- 13. Grundlegende Zeichenfolge Formatierung C#
- 14. Grundlegende SQL-Joining-Tabellen
- 15. php imagecopyresized vs imagecopyresampled vs imagecopy Pros/Nachteile
- 16. CSS-Formatierung von Infopath-Formularen
- 17. Date.js vs Moment.js (und serverseitige Formatierung)
- 18. CSS-Formatierung A4-Druck
- 19. Excel Conditional Content/Formatierung für Print vs. Bildschirm und Seitenumbruch
- 20. Javascript Formatierung Meinung: 'vs "
- 21. Tabelle vs CSS-basierte Layouts für Webseiten
- 22. CSS Formatierung Problem
- 23. css bedingte Formatierung
- 24. Visual Studio Code CSS Vertiefung und Formatierung
- 25. HTML und CSS schiefe Tabellen
- 26. mit ≠ wie! = Pro/Contras
- 27. CSS - Amazon Associate Link Formatierung mit CSS
- 28. html tabelle vs css anzeigetabelle
- 29. Code-Formatierung und Intelassist
- 30. Bildlaufleiste Formatierung in HTML/CSS
Ich glaube nicht, dass Sie das große Bild haben. Sie verwenden kein CSS, weil es in diesem Moment kühler als Tabellen und * in der Mode * ist. Sie verwenden es, weil CSS für Präsentation und Tabellen (nur) zum Erstellen von Tabellen dient. –
Eigentlich glaube ich, dass Aendrew genau das Bild bekommen hat. Das OP fragt nach Vor- und Nachteilen. Das CSS ist für Präsentation und Tabellen nicht ist * nicht * und Vorteil oder Nachteil; eher ist es eine einfache Tatsache. Die von aendrew zitierten Probleme haben andererseits einige der Nachteile der Verwendung von Tabellen hervorgehoben. – Dancrumb
@Alin - Ergo mein zweiter Punkt, dass Tabellen nicht wirklich als Positionierungsobjekt gedacht sind. Sie können sie so verwenden, sicher und für eine lange Zeit war es der beste Weg, Websites online zu erstellen. Aber dann verbesserte sich CSS, und die Positionierung anderer Dinge wurde besser. Ich habe nicht gesagt, Tabellen zu verwenden ist "out of vogue", weil ich denke, CSS ist cooler; Ich sagte das, weil die Verwendung von CSS-Positionierung jetzt eindeutig der branchenbeste Standard ist. Meine Güte. :) – aendrew