• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Zu <Table>,<td> und <tr>

Alois

Mitglied
Halo allerseits,
ich höre immer, dass o.g. HTML-"Kommandos" nicht mehr in sind. Was ist der Grund und welche Alternativen gibt es inzwischen, die die gleiche Funktion haben. Ja, ich bin ein Altanwender von vor 20 Jahren.....
 
Werbung:
Das hat nichts mit "in" zu tun, sondern mit sachlicher korrekter Anwendung.

So gesehen gibt es auch keine Alternativen. Das table-Element mit seinen zugehörigen Elementen ist für Tabellendaten gedacht. Tabellendaten sind allerdings selten, so dass das table-Element heutzutage kaum noch Anwendung findet.

Tabellendaten entstehen nicht durch Bestimmung des Anwenders, egal wie er es sich auch wünscht.

Früher wurde das table-Element ähnlich wie die float-Anweidung auch zum Layouten mißbraucht. Da es keine anderen besseren Möglichkeiten gab war das soweit auch in Ordnung.

Auch in Hinblick auf neue Geräte wie Smartphones wurden die CSS-Möglichkeiten erweitert, da zur Darstellung responsive Designs anwenderfreundlicher und sinnvoller wurden. Parallel wurden im Sinn der Zugänglichkeit (Barrierefreiheit) zusätzliche HTML-Elemente eingeführt.

Mit HTML5 haben alle HTML-Elememente eine Bedeutung bekommen. Deshalb darf nach den aktuellen HTML-Regeln kein HTML-Element zur Gestaltung / zum Layout verwendet werden. Das Layout geschieht einzig über CSS.

Damit sind erfahrungsgemäß viele Alt-Anwender überfordert.

Für die korrekte Erstellung von Webseiten werden die Inhalte deshalb zunächst in die dafür vorgesehenen HTML-Elemente eingefügt und danach mit CSS gestaltet. Das ist damit wohl die von dir gewünschte Alternative.

Beim CSS kommen insbesondere Flexbox (display: flex;) und CSS-Grid (display: grid;) als "Ersatz" für table-Elemente zum Einsatz.
 
Werbung:
Das hat nichts mit "in" zu tun, sondern mit sachlicher korrekter Anwendung.

Früher wurde das table-Element ähnlich wie die float-Anweidung auch zum Layouten mißbraucht. Da es keine anderen besseren Möglichkeiten gab war das soweit auch in Ordnung.

Mit HTML5 haben alle HTML-Elememente eine Bedeutung bekommen. Deshalb darf nach den aktuellen HTML-Regeln kein HTML-Element zur Gestaltung / zum Layout verwendet werden. Das Layout geschieht einzig über CSS.
Okay, das verstehe ich ja. Nur wüsste ich dann natürlich gerne, welcher CSS-Eintrag dasselbe layout herstellt, das ich bisher per Table & Co. konstruiert habe. Simples Layout-Beispiel, siehe hier (oben!).
https://welse.net/1 HTML-Test/index2.html
 
Einerseits schreibst du "Simples Layout-Beispiel", andererseits enthält dein Beispiel jede Menge grundlegende Fehler.

- head-Bereich
- komplettes table-Element
- öffnendes body-Tag
- öffnendes table-Tag
- öffnendes table-Tag
- öffnendes body-Tag
- komplettes table-Element, aber ohne die erforderlichen zugehörigen Elemente
- schließendes main-Tag, welches nicht geöffnet wurde
...

- hr-Elemente zur Gestaltung
...

Du solltest zunächst die HTML-Grundlagen lernen. Mit einem layoutbaren Quelltext hat das nichts zu tun.

Grundlegend sehe ich bei der Seite folgendes Grundlayout:

Code:
<!DOCTYPE html>
<html lang="de">
<head>
</head>
<body>
   <nav>
   </nav>
   <main>
   </main>
   <footer>
   </footer>
</body>
</html>
 
Du solltest zunächst die HTML-Grundlagen lernen. Mit einem layoutbaren Quelltext hat das nichts zu tun.
Nun gut - ich lerne gerade mit Hilfe des Buches HTML+CSS von Peter Müller, wg. der Grundlagen. Aber meine ursprüngliche Frage ist hier bisher nicht beantwortet worden - wo und wie in einer CSS werden Table usw. ersetzt.
 
Werbung:
Noch mal deutlich: Es gibt keinen "Eins-zu-Eins" Ersatz. Erst korrektes HTML, dann die Gestaltung mit CSS.
 
Noch mal deutlich: Es gibt keinen "Eins-zu-Eins" Ersatz. Erst korrektes HTML, dann die Gestaltung mit CSS.
Hm.....nun.....es könnte mir ja jemand sagen wie anhand dieser oberen Leiste das HTML korrekt aussehen müsste und wie der CSS-Teil dazu wäre. Oder ist das Forum hier nichs für Anfänger oder Autodidakten oder überhaupt Neulinge?
 
D. h. Du müsstest dich dort auch mit Flex und Grid vertraut machen können.
Ich habe nun also angefangen, mich mit Grid zu beschäftigen. Im Internet habe ich aber bisher keine so tolle Seite gefunden, die das umfangreich (!) erklärt. Vieleicht hat hier jemand einen Tipp? Ansonsten: Wird bei Grid keine CSS mehr verwendet?
 
Werbung:
Wird bei Grid keine CSS mehr verwendet?
Allein diese Frage sagt aus, dass du dich mit dem Thema nicht wirklich auseinander gesetzt hast.


Ich könnte jetzt noch mehr Links hier posten, aber eigentlich in ein Link zu viel, denn google liefert reichlich Treffer mit
 
Allein diese Frage sagt aus, dass du dich mit dem Thema nicht wirklich auseinander gesetzt hast.

Irgendwie versuchst du einem Anfänger gegenüber andauernd mit Tiefschlägen zu "helfen"!!!

Ich habe HEUTE zum ersten Mal mit Grid angefangen. Und dass ich nun nicht gleich die richtigen Links per google entdeckt habe, ist ja wohl verzeihbar, oder?
 
Sorry, aber in jedem Grid-Tutorial findet man auch CSS-Code. Was soll man denn sonst bei dieser Frage denken???
 
Werbung:
Das ist vollkommen unabhängig davon ob Du Grid, Flex oder etwas anderes benutzt. Wie man CSS einbindet, kannst Du auch bei Selfhtml nachlesen:

Da haben wir uns missverstanden - wie man CSS einbindet weiß ich ja aus alten HTML-Erfahrungen. Ich wollte nur wissen, ob GRID die CSS gleich in die HTML reinschreibt - so sieht das bis jetzt für mich aus - oder ob das auch wie früher ist.

 
Werbung:
Mit Büchern bin ich jetzt weniger vertraut aber Du hast ja schon eines und nach dem, was ich in Posting #10 zitiert habe, wird dort Flex und Grid ja behandelt. Versuche doch zunächst Mal, dort nachzulesen.
Das Buch, das du da erwähnst, habe ich ja inzwischen von vorne bis hinten durch. Grid kommt darin aber fast nur am Rande vor, und auch nicht so penibel genau, wie beim HTML und CSS-Thema vorher im Buch.
Ich übe ja gerade mit den mir bisher vorliegenden GRID-Sachen. Bei meiner Übungsseite fehlt mir aber noch das richtige Zuordnen und Anordnen:
https://welse.net/1 HTML-Test/Grid/grid 8.html
 
Das ist genau wie früher, bei Grid hast Du die selben Möglichkeiten, das CSS zu notieren oder auszulagern.
Aber hier ist das doch in der HTML-Datei mit drinnen:
<!DOCTYPE html> <html> <head> <style> body { background: none; } </style> <meta charset="utf-8" /> <style> html { background-image: url(../Bilder/neons.jpg); } .grid-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; grid-gap: 1px; justify-items: center; align-items: center; }
 
Werbung:
Du willst die Elemente ja nur untereinander anordnen und dazu brauchst Du weder eine Tabelle noch unbedingt Grid oder Flex.
Und da komme ich einfach nicht weiter. Die oberen "Kästen" kriege ich z.B. nicht ohne Zwischenraum hin. Den Text in der Mitte auch nicht ohne Grid.....muss wohl noch viel üben!
 
Zurück
Oben