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

<table> veraltet - <div> aktuell

Status
Für weitere Antworten geschlossen.

r-ene

Neues Mitglied
Hi Leuts,
wenn ich mir so den Quelltext von den meisten Seiten angucke, dann seh ich, dass die meisten nicht mehr wie früher durch Tabellen aufgebaut sind sondern durch div-Blöcke.
Wenn ihr euch jetzt den Quelltext meiner Seite anguckt, dann seht ihr, dass alles aus Tabellen aufgebaut ist.
Wieso benutzt man immer häufiger div-Blöcke?
Wie funktioniert das genau?
 
Mh Tabellen waren eigentlich nie dazu gedacht, für's Layout verwendet zu werden. Tabellen sind, wie der Name schon sagt, gedacht um Daten tabellarisch darzustellen.

Wer eine Seite nur aus <divs> baut, hat allerdings das Wort Semantik nicht verstanden. HTML ist eine Auszeichnungssprache, sie zeichnet also die Webseite nur logisch aus. Wie das ganze dargestellt wird, hängt dann am CSS. Div-Container soll(t)en also dazu verwendet werden, um mehrere Elemente, die zusammen formatiert werden sollen, zu gruppieren.

Das Menü auf deiner Seite könntest du mit Listen (ul + li) machen, der Rest lässt sich über Textabsätze regeln, nur für den Content-rahmen (der mit der Überschrift "R-ene.de - Lustige Spiele, Spaß & Unterhaltung") würde ich eventuell einen Div vorschlagen.

So richtig, Efchen? :)
 
Ich würde es eher semantisch korrekte Formatierung nennen. <p> für Absätze, <h1> bis <h6> für Überschriften etc. Ist auch ein Grund wieso eine Tabelle als Seitengrundlage semantisch NICHT korrekt ist :D
 
Weil Tabellen nicht dazu geeignet/gedacht sind, ein Layout damit aufzubauen, sondern nur dafür, Inhalte, die tabellarisch dargestelt werden sollen so darzustellen.
 
Semantik hin oder her. Tabellen sind zwar nicht dafür gedacht, dennoch denke ich ist eine Mischung aus <divs> und <tables> besser, als nur <divs> seiten. Tabellen für die grobe Strukturierung und Divs für die Fein Strukturierungen. Zu den Daten, ihr sagt Tabellen sind dazu gedacht, Layouts darzustellen sondern Daten, ist auch richtig. Aber ist es nicht so, das auch auch gewisse Layout Bereiche Daten sind, die man darstellt. Also ich sehe da keinen Sinn und einen Widerspruch.

Was ganz anderes, kennt jemand <fieldsets>, ist mein persönlciher Favorit, damit kann man auch gute Layouts hin bekommen.

Das ist meine persönliche Meinung.
 
@gollum1990: nein, HTML-Code der sich in Tabellen befindet stellt keine Daten dar. Daten wären z.B. Bundesliga-Spiel-Ergebnisse. Und ein weiterer Nachteil: Tabellen kann man schlechter per CSS anpassen. Man ist beim Design eingeschränkt (u.a. darum sehen Webseiten heute auch etwas besser aus als vor 10 Jahren ;) ).

Und fieldsets sollten auch wieder nur zur semantischen Darstellung, in dem Fall zur Einteilung eines Formulars in Bereiche, dienen. Jede andere Verwendung wäre ein Missbrauch an diesem HTML-Element, genau wie bei Tabellen.
 
@Threadi: Semantik hin oder her, dem Endbenutzer interessiert es nicht, ihn interessiert lediglich Das Aussehen und die Interaktion.
 
Ich persönlich finde es manchmal übertrieben mit dem ganzen Quark von Semantik... Ich persönlich lege Wert auf validen Code und generell auch auf die Semantik; auch sollte man keine komplette Seite auf Tabellenbasis erstellen. Aber auch ich stelle mal das Layout eines Forumsposts oder die Anzeige von Gästebucheinträgen per Tabelle dar. Oder ich packe ein fieldset aus designtechnischen Gründen um einen Text oder ein anderes Element.
Das stört doch wirklich niemanden, außer "Hardcoresemantiker" ^^

MfG Icy
 
Ja. Allen außer den "Hardcoresemantikern" und den Sehbehinderten macht das nichts aus.
 
Gibt es nicht solche Tools, mit denen sich Sehbehinterte Menschen eine Seite vorlesen lassen können?
Ich meine mal gehört zu haben, dass die Probleme mit Tabellen haben...
 
Eindeutig. Wieso denkt ihr schriebt man in Bilder alt-tags rein? Wohl kaum damit man, wenn jemand mit einem lahmen ISDN-Anschluss surft, schon vorher sehen kann, was gleich erscheint.
Die klare Strukturierung der Webseiten ohne Tabellen ist sehr wichtig für die Barrierefreiheit. Genauso die Auszeichnung mit labels innerhalb eines Formulars. Der Aspekt «Barrierefreiheit» ist riesig und man könnte noch tausend mal mehr schreiben, aber ich denke es reicht, wenn ich zum Ausdruck bringe, dass es Sehbehinderten mit Screenreadern eine große Hilfe ist, den Code der Websites korrekt auszuzeichnen.
 
Oh Mann Leute,

das ist wieder ein Thread für mich...

*seufz*

Meine Zehnägel! Na, Ihr wisst schon... ;-)

wenn ich mir so den Quelltext von den meisten Seiten angucke, dann seh ich, dass die meisten nicht mehr wie früher durch Tabellen aufgebaut sind sondern durch div-Blöcke.
Eins ist genauso sinnfrei wie das andere.

Wieso benutzt man immer häufiger div-Blöcke?
Keine Ahnung. Wer das macht, hat HTML nicht verstanden. Das ist genauso sinnfrei wie Layout mit Tabellen.

Semantik hin oder her. Tabellen sind zwar nicht dafür gedacht, dennoch denke ich ist eine Mischung aus <divs> und <tables> besser, als nur <divs> seiten.
Es ist beides der selbe Quatsch.

Tabellen für die grobe Strukturierung und Divs für die Fein Strukturierungen.
Es gibt überhaupt keinen Grund, mit HTML irgendetwas zu strukturieren.

Was ganz anderes, kennt jemand <fieldsets>, ist mein persönlciher Favorit, damit kann man auch gute Layouts hin bekommen.
HTML ist überhaupt nicht für das Layout gedacht. Egal, welches Tag. Kein <table>, kein <div> und kein <fieldset>. HTML ist nur für die logische Auszeichnung gedacht.

@Threadi: Semantik hin oder her, dem Endbenutzer interessiert es nicht, ihn interessiert lediglich Das Aussehen und die Interaktion.

Natürlich interessiert es den Endbenutzer. Es gibt Endbenutzer, die können nicht sehen, es gibt Endbenutzer, die keinen Client haben, der CSS interpretiert, und es gibt Endbenutzer, die Suchmaschinen benutzen und darin etwas finden wollen. Das sind dann alles die, die Wert auf einen semantisch korrekten HTML-Code legen. Das sollten dann gemäß meiner Aufzählung so ziemlich alle WWW-Nutzer sein.

Ich persönlich finde es manchmal übertrieben mit dem ganzen Quark von Semantik.
Ich denke, das Problem liegt im Umdenken. Mangels CSS und ansprechender HTML-Umsetzung hat man vor 10 Jahren ziemlich viele Hacks nutzen müssen. Mittlerweile sind die meisten Webmaster aber so gut darin, Websites mit Hacks zu erstellen, dass sie nicht mehr umdenken wollen (sie sind ja dann nicht mehr so viel wert) oder nicht mehr umdenken können (wir werden ja alle nicht jünger). Tatsache ist aber, dass die Arbeitsweisen, die auch mit der Semantik gepriesen werden, genau das sind, was HTML damals schon erreichen sollte.

Aber auch ich stelle mal das Layout eines Forumsposts oder die Anzeige von Gästebucheinträgen per Tabelle dar.
Wenn es keine tabellarischen Daten sind (und das trifft hier wohl zu), gibt es keinen Grund dazu. Außer, man ist mit semantischem HTML und Design mit CSS nicht gut genug vertraut. Aber dann lernt man eben entweder dazu, oder macht weiterhin mangelhafte Websites.

Oder ich packe ein fieldset aus designtechnischen Gründen um einen Text oder ein anderes Element.
Und verwirrst damit Clients, die auf die Semantik angewiesen sind. Warum sollte ein Satz von Feldern ausgezeichnet sein, wenn gar keine Felder kommen und nicht vorher ein Formular angekündigt wurde? Ein Rahmen ist anderweitig genauso schnell gemacht.

Das stört doch wirklich niemanden, außer "Hardcoresemantiker"
Wahrscheinlich wird es die wenigsten stören, aber warum so etwas tun? Warum etwas falsch machen, wenn man in der Lage ist, es richtig zu machen? Warum sich bewusst schlechter darstellen? Warum Code erzeugen, der einem kleinen Teil (vielleicht auch einem sehr kleinen Teil) möglicherweise Probleme bereitet, wenn man doch weiß, wie man es macht, so dass absolut niemand benachteiligt wird?

Die Web-Entwicklung ist jetzt endlich so weit, dass sie so funktioniert, wie man sie sich vor über 10 Jahren vorgestellt hat. Warum sich dagegen sträuben, außer aus Angst, einen gewissen Stand von eigenem Wissen, einen gewissen Status zu verlieren?
Jeder sollte mittlerweile wissen, dass bei astreiner Trennung von Inhalt und Layout und guter Semantik eine Website 100%ige Nutzbarkeit und Barrierefreiheit erreicht. Warum künstlich Barrieren errichten? Warum den Bedürftigen im Internet vor den Kopf stoßen?

Warum? Für mich gibt es keinen Grund, auf all das zu verzichten, keinen Grund, sich mit weniger zufrieden zu geben, als dem bestmöglichen.

Und wer noch nicht so weit ist, wird es lernen. Kein Problem. Aber als Webmaster trägt man eine gewisse Verantwortung gegenüber seinen Benutzern. Man macht niemals Websites für sich selbst, sondern immer für die Nutzer. Und die erwarten einfach eine gute Website.

Gruß,
-Efchen

Nachtrag, weil vergessen:
Gibt es nicht solche Tools, mit denen sich Sehbehinterte Menschen eine Seite vorlesen lassen können?
Ich meine mal gehört zu haben, dass die Probleme mit Tabellen haben...
Screenreader haben keine Probleme mit Tabellen. Aber man kann sich leicht vorstellen, wie Tabellen vorgelesen werden. Von links nach rechts, Zeile für Zeile. Screenreader können sogar für jede Spalte die Spaltenüberschrift (th) vor dem Inhalt der Zelle vorlesen. Jetzt macht man mal ein besonders komplexes Layout mit ineinander verschachtelten Tabellen (ja, die Probleme treten eigentlich erst auf bei verschachtelten Tabellen und vielen rowspan/colspan) und liest dann mal seinen Inhalt laut vor nach obiger Regel: Von links nach rechts, Zeile für Zeile. Dann wird schnell klar, warum Tabellen als Layoutmittel nicht nur falsch, sondern einfach nur Mist sind.
 
Auch sehr lustig:
Code:
<div id="Profile_InformationSnipplet_School" class="clearFix">
    <h3 class="clearFix">Schule            <a href="/Profile/EditSchool">[bearbeiten]</a>
        </h3>
            <div class="label">
            Ich bin:
        </div>
        <div class="labeledText">
            <a href="/Search/Result/type/super/uni/12711/position/5">Naturwissenschaftler</a>        </div>
                <div class="label">
            Lieblingsfach:
        </div>
        <div class="labeledText">
            Mathe        </div>
                <div class="label">
            Hassfach:
        </div>
        <div class="labeledText">
            Latein        </div>
                <div class="label">
            Nebenjob:
        </div>
        <div class="labeledText">
            Schiedsrichter        </div>
                <div class="label">
            Was ich da mache:
        </div>
        <div class="labeledText">
            Pfeifen und winken!^^        </div>
    </div>
Das ist ein wenig Code eines, wahrscheinlich euch allen bekannten, Netzwerks. Aber wieso bitteschön <div>s nutzen, wenn es eine Tabelle (semantisch korrekt) doch auch tut? Strange... Hab ich hier etwas nicht verstanden? (also es dreht sich um schuelerVZ, studiVZ und meinVZ)

Grüße
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben