HTML Warum Tabellen zum Layouten besser sind...

@chorn

Bitte rechne mal nach was du da erzählst :o

BTW: das sind 56kbit ~ 5kb - 6kb grob über den daumen geschätz.

edit;
um nicht völlig OT zu werden: aus dieser Diskussion wird auch niemand neue Erkenntnis bekommen, das Thema wird dafür schon zu lange diskutiert. Das damit ausgerechnet jetzt wieder angefangen wird finde ich schon sehr interessant.

Nebenbei sind auch die meisten "CSS-Designs" unnötig komplex, aber das steht hier ja nicht so zur Debatte :D
 
Zuletzt bearbeitet:
Also ich nehme meistens diese DIV-Container. Ist auch sehr komfortabel :)
Speziell wenn es im eine EXAKTE Ausrichtung geht.

Kann man auch sehr leicht dynamisch gestalten wenn man Variablen definiert.

mfg,
Markus
 
ag3nt schrieb:
....

Nebenbei sind auch die meisten "CSS-Designs" unnötig komplex, aber das steht hier ja nicht so zur Debatte :D

Auch nur wenn die Leute nicht mit CSS umgehen können und für alles und jeden einen neuen div Container anlegen und für jeden Pups einen Wert im Stylesheet festlegen, obwohl vollkommen unnötig.
 
Hi,

PW-toXic schrieb:
utf-8 braucht genausoviel plazt wie ASCII bei gleichem Inhalt
-> stichwort variable byte länge.

wie gesagt, evtl. und je nach Version. Maskierte Zeichen noch nicht mitgerechnet.

ag3nt schrieb:
BTW: das sind 56kbit ~ 5kb - 6kb grob über den daumen geschätz.

Jau, da hab ich mich grad mal vertan. Selbst so hat man dann noch rechnerisch um die 7000 Zeichen übrig, realistisch meinetwegen die Hälfte - aber die Kernaussagen bleiben die gleichen, ich finde es absurd.

MfG, Christian.
 
chorn, ich sehe das genauso wie du, aber das ist nun leider ein schwaches Argument. Deswegen habe ich das von der anderen Seite aufgezogen.
All diese Argumente kommen von den Leuten, die verzweifelt versucht haben möglichst viele Argumente für die CSS Dogmatik zu finden. Wenn man jedoch sagt "Ich sehe das nicht so eng", dann ist das eine Aussage womit man Leben kann, aber wenn ich beweise, dass die Tabellen Lösung genau das Gegenteil bewirkt, dann habe ihr Argument vernichtend geschlagen.
Nun bleibt den Leuten nurnoch übrig mir eine alternativlösung zu zeigen, die weniger Platz verbraucht als meine.
Das wird schwer.
 
PW-toXic schrieb:
Nun bleibt den Leuten nurnoch übrig mir eine alternativlösung zu zeigen, die weniger Platz verbraucht als meine.
Das wird schwer.

Verlangst du nicht, das Inhalt von Layout getrennt wird und der Inhalt semantisch korrekt wiedergegeben wird?
Allerdings muss man ja ersteinmal beschreiben, was der jeweilige Inhalt bedeutet.
Dadurch kann der Code so oder so schon nicht mehr kleiner werden, im Gegenteil, er wird um einiges größer.

Beim Thema DSL passe ich.
 
@PW-toXic:
Ich habe dein Tabellen-Code einmal kurz nachgeschrieben, und dann noch in div-Layout übersetzt. Dateien siehe Anhang.
Was ich festhalten kann:
Div-Layout: 385 Zeichen Code, 41 Zeilen
Table-Layout: 453 Zeichen Code, 44 Zeilen
Und es wird beides mal genau dasselbe angezeigt.

In deinem Eingangspost machst du es (scheint mir) extra umständlich, um das Table-Layout möglichst einfach und das div-Layout möglichst kompliziert darzustellen.
Meine Frage nur: warum ? Nur um deine Tabellen zu verteidigen ?
Dass es mit div auch einfacher geht, und es keine "böse div-Suppe" sein muss, liegt auf der Hand.

Von daher ist ein guter Teil deines Eingansposts, in dem du dich auf die "böse div-Suppe" beziehst, ich will nicht sagen falsch, aber auch nich korrekt. Es geht mit div nämlich ebenfalls einfacher.

Ich bin ehrlich gesagt der Meinung, dass CSS heutzutage einfach der Standard ist.
Versuche doch einmal solche Sachen wie ausklappbare Boxen, Hover-Effekte bei Boxen usw. mit deinem Table-Layout richtig hin zu bekommen. Da verschiebt sich der Aufbau der Tabelle was weiß ich wohin, aber nicht dahin, wo du es willst.
Da sind unabhängige div-Boxen einfach praktischer als mehrfach verschachtelte Tabellen-Felder.

Aber nungut, es scheint mir, du willst auf teufel komm raus deine Tabellen verteidigen.
Ehrlich gesagt: wenn du von CSS nichts hälst, kannst du gerne bei deinen Tabellen bleiben.
Aber dein Post kommt an mich so rüber, als wäre das Table-Layout das einzig wahre, und CSS sowieso nur unnötig kompliziert. Und das ist genau so falsch, wie Tabellen grundsätzlich als Layout-mittel zu "verbieten", wie es manche versuchen. Dass das ebenfalls falsch ist, da stimme ich dir zu.

Tabellen sind für einfache Layouts durchaus zu gebrauchen. Auch wenn ich davon nichts halte, solange erreicht wird, was gewünscht ist, ist es ok. Aber sobald die Seite komplex wird, ist eben dass mit Tabellen oft nicht mehr (sauber) machbar.

Meine persönliche Meinung: div und CSS ist heutzutage einfach der Standard in Sachen Layout und Homepage-Design. Ebenfalls ist es für mich einfacher, sobald die Webseite etwas größer wird und noch PHP ins Spiel kommt, wenn ich externe CSS-Dateien und einen klaren Aufbau mit Boxen habe, ohne dass alles in Tabellenfeldern verschachtelt ist.
Dass der Code unnötig komplex oder unverständlich ist mit div-Layout kann ich nicht bestätigen. Eher im Gegenteil. Ich benutze fast ausschließlich Boxen für das Layout, und hab dank der jeweiligen Grund-Boxen im Code immer den Überblick, wo die Box dargestellt wird.

Ich denke, der "Krieg" um die Tabellen besteht aus einem einfachen Grund:
Tabellen-Layouts sind für Anfänger einfach zu erstellen, sind (am anfang anscheinlich) unkompliziert und man braucht nicht viel lernen, um eine einfache Seite zu machen.
Die "Profis", welche schon länger mit HTML arbeiten, wissen, wie schwierig komplexe Designs mit Tabellen umzusetzten sind, und wissen um die Vorteile von unabhängigen Boxen.
Nun raten die "Profis" natürlich, dass die "Newbies" doch bitteschön gleich richtig HTML lernen sollen, und die Tabellen weglassen sollen. Was die meisten oft vergessen: den Newbies reicht ein Tabellen-Layout für eine einfache Seite vollkommen aus, und die meisten wollen garnicht komplexe Layouts gestalten. Da muss ich dir vollkommen recht geben, für die "Newbies" ist ein Tabellen-Layout ausreichend und das sollte man (wenn auch mit dem Wissen, dass es besser geht) akzeptieren, und nicht jeden auf teufel komm raus dazu zwingen, alles mit DIVs zu machen.

Ich denke, das beste ist, dass jeder das Layout nimmt, welches er bevorzugt.
Für einfachste Seiten und Neu-Einsteiger ist das Tabellen-Layout völlig ausreichend.
Für komplexe Seiten werden fortgeschrittene freiwillig auf CSS umsteigen. ;)

Abschließend und zusammenfassend bleibt mir nur zu sagen:
Tabellen-Layouts sind für Anfänger einfach zu gestalten, und haben in einfachen Seiten durchaus, wenn auch zweckentfremdet, ihre Funktion als Layout-Elemente.
Für fortgeschrittene Programmierer mit komplexen Seiten in heutzutage Standardisiertem, validem Code kommen Boxen und CSS zum Einsatz. Dort haben Tabellen meiner Meinung nach nichts mehr zu suchen. Aber das wird jeder, der selbst mehr und mehr Seiten designt, freiwillig erkennen und umsetzten. Und wer es nicht will, soll weiterhin mit Tabellen arbeiten, wie er will ;)

Mfg, Michi.
 

Anhänge

  • div.txt
    608 Bytes · Aufrufe: 421
  • table.txt
    689 Bytes · Aufrufe: 396
Zuletzt bearbeitet:
In deinem Eingangspost machst du es (scheint mir) extra umständlich, um das Table-Layout möglichst einfach und das div-Layout möglichst kompliziert darzustellen.
Meine Frage nur: warum ? Nur um deine Tabellen zu verteidigen ?
Dass es mit div auch einfacher geht, und es keine "böse div-Suppe" sein muss, liegt auf der Hand.
Deine Lösung skaliert nicht!
Sobald du in einer Tabelle mehr Inhalt hineinschreibst also der Browser hoch ist, wird der rest weiss angezeigt. Du hast die Problematik leider nicht ganz verstanden.
Davon abgesehn habe ich keine möglichst schlechte Lösung konstruiert, sondern ich habe die beste und kürzeste Lösung im Internet gesucht, die das oben beschriebene Problem mit div & css löst.

Ich bin ehrlich gesagt der Meinung, dass CSS heutzutage einfach der Standard ist.
Versuche doch einmal solche Sachen wie ausklappbare Boxen, Hover-Effekte bei Boxen usw. mit deinem Table-Layout richtig hin zu bekommen. Da verschiebt sich der Aufbau der Tabelle was weiß ich wohin, aber nicht dahin, wo du es willst.
Da sind unabhängige div-Boxen einfach praktischer als mehrfach verschachtelte Tabellen-Felder.
Das verhalten bezüglich hover effekten ist bei div und table elementen kein bisschen anders.


Meine persönliche Meinung: div und CSS ist heutzutage einfach der Standard in Sachen Layout und Homepage-Design. Ebenfalls ist es für mich einfacher, sobald die Webseite etwas größer wird und noch PHP ins Spiel kommt, wenn ich externe CSS-Dateien und einen klaren Aufbau mit Boxen habe, ohne dass alles in Tabellenfeldern verschachtelt ist.
Dass der Code unnötig komplex oder unverständlich ist mit div-Layout kann ich nicht bestätigen. Eher im Gegenteil. Ich benutze fast ausschließlich Boxen für das Layout, und hab dank der jeweiligen Grund-Boxen im Code immer den Überblick, wo die Box dargestellt wird.
Ich benutze wie ich in meinem Beitrag bereits geschrieben hab keine Tabellen.
Jedoch habe ich davon abgesehn oben klar gezeigt, dass das Layout wie oben beschrieben mit einer Tabelle einfacher und verständlicher umzusetzen ist als mit mehreren verschachtelten divs.
 
Zuletzt bearbeitet:
PW-toXic schrieb:
Die Organisation, die den Standard für die Web Sprachen wie (X)HTML und CSS definiert sieht das ähnlich:
[...]
Man beachte jedoch, dass hier das Wort "should" steht.
[...]
Immerhin zieht w3.org in betracht, dass man Tables möglicherweise für das Layout benutzen muss:
hast du dir dabei denn mal das datum angesehen? mit firebug kommt man ganz einfach auf folgenden wert: Last-Modified: Mon, 06 Nov 2000 23:07:21 GMT. mittlerweile haben wir 2009 und css 3 steht vor der tür (der große schub wohl mit firefox 3.1, opera 10, sowie ie 8, webkit sollte dies ja so oder so in den snapshots immer aktuell haben).
PW-toXic schrieb:
2 Was ist die alternative Lösung?
stimmt soweit im großen und ganzen.
PW-toXic schrieb:
3 Die Tabelle hat weiterhin ihr Existenzrecht bei Layouts
NEIN, hat sie nicht!
css 3 steht mittlerweile vor der tür und spätestens ab hier sind tabellen für das layout obsolet. [1] selbst mit der aktuellen css version ist all das überhaupt kein problem. tabellen sind einzig und allein für übersichten und auflistungen da, sonst für nichts!
PW-toXic schrieb:
3.1 Warum verteidige ich die Tabelle?
Es gibt sicher mehrere Gründe, die an bestimmten Stellen für die Tabelle sprechen, aber ich beschränke mich auf ein einziges Beispiel, da dieses Beispiel vollkommen ausreicht um die Existenzberechtigung von Tabellen aufrecht zu erhalten. Das Grundproblem ist einfach: Die Mittel von CSS sind stark begrenzt. Sie reichen zwar für die meisten Sachen aus, jedoch nicht immer.
aha? die mittel von css sind stark begrenzt. dann sieh dir bitte mal die unten verlinkten webseiten an. sieht dies nach "stark begrenzt" aus? [2], [3], [4] ich habe bisher auch immer alles via css-layout erfolgreich hinbekommen und musste nie auf tabellen fürs layout zurückgreifen.
PW-toXic schrieb:
Mit CSS hat man wenig Möglichkeiten sich auf andere Elemente zu beziehen, wenn man das Stylesheet für ein Element definiert. So kommt es, dass die Eigenschaften der Tabelle mit CSS nicht vollständig umsetzbar sind. Wenn man diese Eigenschaften aber dringend benötigt (Der Designer gibt das Layout vor!), dann sollte man nicht, wie es derzeit oft der gemacht wird, durch Tricks mit CSS/Javascript/Hacks diese Eigenschaften zu simulieren.
wieso willst du dich auf andere elemente beziehen? ich weiß dabei nicht wirklich, was du damit meinst. ein beispiel wäre vllt angebracht, denn so wie es bis jetzt dort steht, hat es null bedeutung. und ja, hacks sind nicht wirklich schön, aber sie ermöglichen eine sehr leichte umsetzung für etwas, "was nicht geht".
PW-toXic schrieb:
Eine direkte Umsetzung mit reinem CSS für die Anforderung, dass sich zwei oder mehr Elemente direkt von der Eigenschaft Höhe beinflussen, ist nicht möglich!
meinst du so etwas? [5] wenn nicht, bring ein beispiel, denn darunter kann ich mir nur schlecht etwas vorstellen
PW-toXic schrieb:
Drei Spalten Layout mit DIVs
wie wäre es damit?
HTML:
<style type="text/css">
<!--
  * {
    margin: 0;
    padding: 0;
  }
  
  #table {
    width: 90%;
    height: 64px;
    margin: 0px auto;
  }
  
  #table > .col1, #table > .col2, #table > .col3 {
    float: left;
    display: inline-block;
    width: 25%;
    height: 100%;
  }
  #table > .col1 { background: #d8dada; }
  #table > .col2 {
    width: 50%;
    background: #a8d5f2;
  }
  #table > .col3 { background: #98999a; }
-->
</style>
<!-- ... -->
<div id="table">
  <div class="col1">Spalte 1</div>
  <div class="col2">Spalte 2</div>
  <div class="col3">Spalte 3</div>
  <div style="clear: both;"></div>
</div>
PW-toXic schrieb:
Ich denke jedem leuchtet folgendes ein:
1) Das ist mehr code
2) Der code ist absolut unverständlich. Man muss sich eingehend damit im speziellen beschäftigen, um es zu verstehn
3) Der logische Aufbau widerspricht der Intuition, da die mittlere Spalte zuerst kommt (Anm. Ja ich weiss: SEO..)
4) Man hat hier eine böse div-Suppe, die mit Semantik rein garnichtsmehr am Hut hat.
Es ist pragmatischer Sicht einfach schlecht, wenn man diesen "CSS Hack" anstelle von einer einfachen Tabelle benutzt, wenn man einfach stur ein Layout umsetzen möchte.
hm, kein argument zieht mehr?
PW-toXic schrieb:
(Ich bezeichne das im Gegensatz zum Author als CSS Hack, da hier CSS Eigenschaften benutzt werden, die für etwas anderes gedacht sind, nur um das gewünschte Verhalten herbeizuführen (right: xx%))
die eigenschaft right ist also ein "css-hack" in deinen augen? dann müsste genauso left, top, sowie bottom ein hack sein. oder gehen wir weiter: padding und margin -> css hacks.
PW-toXic schrieb:
Noch besser wäre:
HTML:
<menu></menu>
<content></content>
<sidebar></sidebar>
Das ist jedoch eine fiktive Syntax, die so nicht existiert. wünschenwert wäre es so jedoch.
dies soll in xhtml 2.0 eintreffen (den artikel suche ich im laufe des tages noch raus). wenn es dir per (x)html nicht passt, dann verwende doch bitte xml, mithilfe von xslt, xpath und anderen "spielereien". dort kannst du definieren was du willst und es sieht so aus wie du willst (ein sehr sehr sehr sehr schönes beispiel ist hierbei die wow-europe.com seite von blizzard (auch wenn man wow nicht mag ist es aus programmiertechnischer sicht auf jeden fall einen blick wert!), welche vollkommen auf xml basiert). komischerweise gibt es in xml überhaupt keine tabellen mehr. ;)
PW-toXic schrieb:
Wer hier also mit der Semantik argumentiert, hat sie nicht verstanden.
semantik != verständnis. ich gebe deinen satz an dich zurück.
Semantik
[...]Ersteres nennt man den Begriff, die Bedeutung oder den Sinn eines Ausdrucks, das zweite das Zeichen.[...]
PW-toXic schrieb:
3.2.2 Tabellen benötigen deutlich mehr Code, und verursachen somit mehr Traffic
Darauf bin ich oben bereits eingangen. Offensichtlich ist das in diesem Fall ein Argument für die Tabelle, da mit weniger Code das gewünschte umgesetzt werden kann.
siehe oben. offenbar wurde dies auch widerlegt.
PW-toXic schrieb:
3.2.3 Die Wartbarkeit des Codes ist deutlich schlechter
Auch hierzu bin ich oben bereits eingangen. Ich denke ist ist vollkommen klar, dass auch hier dieses Argument wieder für die Tabelle spricht. Sollte das nicht sofort einleuchten, dann besteht hier sicherlich die Möglichkeit zur Diskussion.. Ich denke aber das ist nicht nötig, da es offensichtlich ist.
jap, die css-layout variante ist um einiges einfacher wartbar (selbst mit vielen weiteren verschachtelten tabellen bzw. divs).
PW-toXic schrieb:
3.2.4 Die Entwicklungszeit von Layouts mit Tabellen ist erheblich höher
Der nächste Punkt, wo der Profitierende die Seiten wechselt. Um das obige reine CSS Layout ohne Tabellen umzusetzen, benötigt man deutlich mehr Zeit, selbst wenn man die Lösung bereits kennt!
findet man sich ein mal in css-layouts rein und sammelt ein wenig erfahrung, geht dies um einiges logischer und einfacher von der hand als ein tabellenlayout (welche mir mittlerweile übrigens sehr schwer fallen, da alles einen festen ort besitzt).
PW-toXic schrieb:
Dies wird vorallem dann deutlich, wenn man noch zusätzlich wie auf dem Beispiel des Authors dieses Layouts selbst, noch paddings zu den Spalten hinzufügt.
ja, padding, margin und border sind ziemlich gemein. trotz allem sollte man solche sachen sowieso selten im layout verwenden, sondern eher um text o.ä. einzurücken.
PW-toXic schrieb:
Den Quellcode kann man sich gerne einmal ansehen. Das wird dann noch eine ganzes Stück komplizierter! Wenn man die Lösung vorher nicht kennt, dann Schätze ich für die Erstellung dieses Layouts einen Zeitaufwand von einigen Stunden, obwohl man bereits umfangreiche Erfahrungen mit CSS hat, die hierfür zwingend erforderlich sind.
siehe [6], [7], [8]
PW-toXic schrieb:
3.2.6 Längere Ladezeiten für den Benutzer
Table wins.
epic fail. siehe mein "alter" post:
claW. schrieb:
desweiteren gibt es den vorteil, dass stylesheets nur ein mal geladen werden bzw. dann, wenn der user einen refresh ohne cache benutzt (bei firefox shift + reload). wenn ein normaler refresh oder ein seitenwechsel stattfindet, wird immer die stylesheet datei aus dem cache genommen (zumindest machen das ordentliche browser so). weiterhin kannst du damit auch einfache portierungen hinbekommen (aus deinem html code z.b. latex code machen und darüber nun ebooks o.ä. generieren).
ahja: latex code und ebook war ein beispiel, keine wirkliche anwendung.
PW-toXic schrieb:
3.2.7 Vermischung von Inhalt und Präsentation
Table wins. Siehe Semantik oben.
epic fail. eine tabelle ist kein mittel um ein layout zu erstellen, sondern um übersichten anzufertigen! warum wird in sehr vielen artikeln wohl von unsichtbaren tabellen gesprochen? wenn es denn layout-mittel sein sollen, warum spricht man nicht einfach von "layout-tabellen"? unsichtbare tabelle = layout-mittel -> css-layout = strukturierungsmittel - passt nicht ganz oder?
PW-toXic schrieb:
3.2.8 Barrierefreiheit: Tabellen können nicht richtig mit alternativen Anzeigegeräten angezeigt werden
Dies ist ebenfalls wieder eine nicht-funktionale Anforderung, die aber im Gegensaz zur Suchmaschinen-freundlichkeit deutlich seltener von Belang ist! Man kann nicht einfach allgemein mit diesem Argument angerannt kommen, wenn dies einfach keine Rolle bei dem System das man baut spielt.
hierzu lege ich dir [9] ans herz. barrierefreiheit wird dir in zukunft viel viel häufiger begegnen als du denken magst. ob es nun der pc ist oder nicht, spielt keine rolle. es kann genauso gut ein handy (wozu haben neue sonst wlan?), ein pda, ein navi oder sonst was sein. zeig mir hier mal bitte, wie du deine seite auf einfache weise (ohne neue spezielle unterseiten erstellen zu müssen [mit gleichem inhalt!]) an ein anderes gerät als den pc anpasst. geht mit tabellen sehr schlecht bei einer maximalen auflösung von 320x240 oder vllt sogar schon 640x480. das css-layout kannst du kurz anpassen und schon sieht die seite komplett anders aus (wobei der inhalt ganz und gar nicht angerührt wird). ohne schnick-schnack, ohne bilder (für portable geräte ohne dsl-bandbreite hervorragend), ohne horizontaler scrollleiste.
PW-toXic schrieb:
Noch schlimmer wird es, wenn das Argument daraufhin verschärft wird, dass Leute mit Behinderungen Webseiten mit Tabellen schlechter lesen können. Dies ist ein Irrglaube! Davon abgesehn macht es kein Sinn mit dem Holzhammer zu versuchen ein Bildergallerie für Bilde zugänglich zu machen. (Ich wüsste garnicht wie das überhaupt funktionieren soll, aber es gibt sicher Möglichkeiten auch das zu schaffen ;))
bist du behindert? ich denke nicht. woher weißt du dann, was für diese personen schwer ist? irgendwo müssen diese erkenntnisse doch herkommen. und an den haaren herbeigezogen werden sie auch nicht sein, denn sonst würde man in der presse nicht "dauerhaft" davon reden. btw, wenn du mit dem wort "bilde" blinde meinst, dann ging dieser schuss nach hinten los.
PW-toXic schrieb:
3.2.9 Tabellen sind nicht zum Layouten da, sondern nur für Daten. (Im allgemein weltlich-menschlichen Sinne)
ein richtiger satz zwischen dem vielen kauderwelsch.
PW-toXic schrieb:
Wer hat das eigentlich definiert? Wenn jemand bei der Gestaltung mit einem tabellarischem Aufbau arbeitet, dann kann man da argumentieren wie man will. Wofür etwas gut ist, definiert derjenige, der es benutzt!.
niemand hat es definiert, man hat es einfach aufgrund von fehlenden technologien verwendet. durch css ist dies abgelöst worden, auf einem weit saubererem weg! wer heutzutage noch auf tabellen setzt, meint wohl auch dass der internet explorer der einzige und beste browser ist.
PW-toXic schrieb:
Wichtig: Ich spreche hier nicht von der HTML Tabelle, sondern von dem allgemeinen Begriff der Tabelle. Es reicht schon, wenn ich bei der Gestaltung einer Webseite im Kopf rein als Idee für die Strukturierung eine Tabelle benutze!
was ist der unterschied zwischen einer html-tabelle und einer allgemeinen tabelle? beide werden mittels <table> eingeleitet und beschreiben im endeffekt die gleiche sache - eine tabelle. wo ist hierbei der unterschied? ich, und bestimmt auch viele andere, kann/können ihn nicht erkennen. die eine wird zum layouten verwendet, die andere für daten. trotz allem sind beides tabellen.
PW-toXic schrieb:
4 Fazit
Da die Kombination aus HTML und CSS nicht ausreicht um die praktischen Anforderungen an die Gestaltung von Webseiten umzusetzen, muss man hier pragmatisch denken, und der Tabelle ihr Existenzrecht für Layoutzwecke einräumen. Das Problem liegt nicht bei den Designern, sondern bei der Definition des HTML Standards.
und genau an den designern liegt es heutzutage und nicht an dem standard. einige gründe habe ich oben schon erwähnt.
PW-toXic schrieb:
Desweiteren ist man auch stark and die Beschränkungen des Browsers gebunden. (IE 6!) Natürlich ist das der Fehler von dem Browser Hersteller, aber in der Praxis hilft dir diese Tatsache nicht - du musst deine Webseite trotzdem auf diesen Browsern zum laufen bekommen, wenn die nicht-funktionale Anforderung dies vorschreibt.
ganz ehrlich: an den ie 6 passe ich nichts mehr an! mittlerweile ist der internet explorer 7 standard und wer diesen nicht benutzt hat einfach pech gehabt. irgendwann läuft der support dafür aus (oder rufst du jetzt noch bei microsoft an und fragst warum dein modem nicht unter windows me läuft?) und man kann einfach nicht erwarten, dass ein webdesigner sich solchen alten schinken widmet. ich passe in 10 jahren doch auch nicht mehr auf den firefox 3 an, selbst wenn dieser noch bei 30% marktanteil sein sollte... irgendwann ist schluss und man sollte eine aktuelle version einsetzen. einen tüv sollte man in sachen software langsam auch einrichten, denn sowas würde eine menge ersparen.
PW-toXic schrieb:
Die eigentliche Problem liegt ganz woanders: Es fehlen Abstraktionsschichten beim Aufbau von Webseiten. Man bräuchte prinzipiell eigentlich folgende Schichten:
1) Inhalt der Webseite (Semantik!) --> RDF
2) Aufbau und Struktur des Layouts
3) Stylesheets
xml, xslt, xpath und konsorten. dafür gibt es ein gutes anfänger tutorial auf w3schools.com.

und vllt auch noch mal hier ein kleiner seitenhieb auf meinen alten post (bezüglich overhead von tabellen und traffic und demzufolge die damit verbundenen kosten an den webmaster):
claW. schrieb:
sagen wir der overhead durch tabellen beträgt ~1 kib. diese seite bekommt täglich nun 500.000 unique klicks (die refreshs [= eigentliche anzahl an seitenaufrufen] sind dabei nicht einberechnet!), was summa summarum 500.000 kib ausmacht (sprich 488 mib). wenn du hier noch jeden einzelnen refresh mit einbeziehst (so wie du hier im forum thread für thread durchsuchst z.b.), bist du gut und gern bei über einem gigabyte. nimm dies mal 31 (für einen monat) und du hast allein durch deine tabellenlayouts 31 gigabyte overhead an traffic, den du natürlich bezahlen musst und diesen natürlich schnellstmöglich eliminieren willst.
der vorteil von divs ist weiterhin einfache barrierefreiheit (wie schon erwähnt wurde), d.h. du kannst ein und die selbe seite für pcs, pdas, handys, waschmaschinen (die bekommen sicher bald auch einen ethernet anschluss), kühlschränke und was weiß ich noch anpassen, alles mit einer simplen stylesheet definition.


ein klein wenig weiterführende lektüre an der stelle (zu dem thema):

Introduction to The Web Standards Curriculum
In the old days, people used to do things like laying out their web sites inside giant tables, using the different table cells to position their graphics, text etc (not what tables were intended for, adds superfluous markup to the page). They used to use invisible images called spacer GIFs to fine tune positioning of page elements (not what images are intended for, add superfluous markup and images to the page). They used to write JavaScript that generated menus etc on the fly (no good for people with JavaScript disabled in their browsers, or people with visual impairments using screenreaders, which get confused by such JavaScript) or worked on only one browser (what about people using other browsers?). They used to insert styling information directly into the HTML using <font> elements (terrible for maintenance, and adds superfluous markup to the page). And many other crimes against web development. The worst thing is that I say “in the old days” above, but the fact is that a lot of people are still doing things like this!

Tabellen als Mittel für Web-Seiten-Layouts
Einen Nachteil sollten Sie jedoch beachten, wenn Sie beabsichtigen, den gesamten anzuzeigenden Inhalt einer Web-Seite mit Hilfe einer blinden Tabelle anzuordnen: Tabellen werden vom Web-Browser erst angezeigt, nachdem ihr kompletter Inhalt eingelesen wurde bzw. erst in dem Augenblick, wo der Web-Browser genau weiß, wie groß und wie breit die Tabelle angezeigt werden muss. Das bedeutet bei der Datenübertragung aus dem Web, dass ein Anwender am Bildschirm länger wartet, bis überhaupt etwas angezeigt wird. Es sei denn, Sie benutzen die Möglichkeit, um Seite Spalten vorzudefinieren.

Ein weiteres Problem besteht darin, dass Browser mit gewünschten Breiten- und Höhenangaben nicht unbedingt so umgehen, wie Sie es wünschen. Inhalte werden dann plötzlich gestaucht, auseinandergezogen usw. Dies hat zur Erfindung des so genannten "blinden Pixels" geführt, einer kleinen GIF-Grafik, die nur aus einer einfarbigen Fläche besteht, deren Farbe wiederum als transparent definiert ist. Zusammen mit der Möglichkeit, Seite Breite und Höhe einer Grafik in HTML unabhängig von der tatsächlichen Größe der Grafik anzugeben, lässt sich eine solche Grafik scheinbar unsichtbar und unauffällig einbauen. So lassen sich vor allem feste Mindestbreiten für einzelne Spalten einer Tabelle erzwingen, und der Browser kann die Inhalte darin nicht mehr stauchen. Diese Technik gilt einerseits als unsaubere Trickserei, ist aber andererseits Ausdruck für fehlende Formatiermöglichkeiten. Mittlerweile stellen Kapitel Stylesheets solche Möglichkeiten zwar bereit (vgl. die CSS-Eigenschaft Seite min-width), doch das nutzt nicht viel, solange die weit verbreiteten Browser noch keine Unterstützung dafür anbieten.

[1] Everything You Know About CSS Is Wrong
[2] Die besten 5 CSS-Seiten (komplett ohne tabellen!)
[3] CSS Zen Garden (im moment gibts einen 403 error)
[4] Best of CSS Design 2007
[5] Gleichhohe Spalten (Auffüllen)
[6] CSS Layouts ((grid-)layouts zum wählen)
[7] Tabellenlayouts 2.0: CSS-Tabellen fürs Webseitenlayout?
[8] Grid Generator
[9] Video zum Thema Barrierefreies Webdesign

Webseiten ausdrucken? Webstandards bieten Alternative! (thema barrierefreiheit)
Checkliste für die Layoutentwicklung

anderweitige links zum thema css (mehr oder minder mit dem eigentlichen thema verknüpft):

/CSS/ Creating scalable layouts
9 Top CSS Essential Skills That Every Web designer Should Learn
10 Principles of the CSS Masters
Pixelgenaues CSS-Layout trotz relativer Werte
CSS – wir räumen auf!
10 Challenging But Awesome CSS Techniques
Powerful CSS-Techniques For Effective Coding
SitePoint CSS Reference
Web Developer's Handbook
Best Practices for Speeding Up Your Web Site
Articles by Topic: CSS
Hip to Be Square
 
Es gibt nur genau einen guten Grund Tabellen fürs Layouten einzusetzen: Es gibt bei CSS 2 einfach keine vernünftigen Layoutmöglichkeiten (jedes div-Layout das ich bis jetzt gesehen habe war ein einziger großer Hack). Die Situation ist zur Zeit (seit es HTML gibt) „unbefriedigend“ und das wird sich so schnell auch nicht ändern, IE sei dank.
 
Zur IE6 Problematik: Bisher konnte ich noch jedes Design auch zum IE6 kompatibel machen. Klar, man braucht dazu mehr Code und mehr div Tags, aber man kann idR vollständig ohne zusätzliches Stylesheet auskommen. Es ist lediglich eine Frage, wie sehr man sich mit der Materie beschäftigt und auskennt und wieviel Zeit man investiert.

Aber zu sagen, wegen IE6 ganz auf CSS zu verzichten halte ich für gänzlich falsch.
Trotz allem muss ich dir zustimmen, irgendwann wird es Zeit, auf neue Versionen zu wechseln. Wer keinen Schritt vorwärts geht, wir stehen bleiben :)


zu Claw und Michi12 im allgemeinen: Sehr schön wiederlegt und spiegelt auch großteils meine Meinung wieder. Muss ich sonst nicht viel mehr dazu sagen :)

Trotzdem möchte ich anmerken, auch wenn Tablelayouts für Anfänger ausreichen, würde ich trotzdem jedem, der vorhat, sich weiter mit der Materie zu beschäftigen, raten, gleich mit CSS anstatt mit tables zu designen. Ich hab damals CSS gelernt, weil ich ne table Seite erstellt habe und mir die Seite naja... ich will jetzt niemanden provozieren also sagen wir, es war für meine Zwecke nicht ausreichend :p



so long
Renegade
 
-=Renegade=- schrieb:
Aber zu sagen, wegen IE6 ganz auf CSS zu verzichten halte ich für gänzlich falsch.
Trotz allem muss ich dir zustimmen, irgendwann wird es Zeit, auf neue Versionen zu wechseln. Wer keinen Schritt vorwärts geht, wir stehen bleiben :)

An dieser Stelle würde ich gerne auf folgenden Artikel von David Maciejewski verweißen: Ignoriert den Internet Explorer!
 
Eigentlich wollte ich auf alles präzise Antworten, aber dadurch wird der text so elends lang und schlecht lesbar, dass ich mich dazu entschieden habe nur die wesentlichen Dinge herauszuarbeiten, da es keinen Sinn macht bereits gesagte dinge einfach zu wiederholen, nur weil eine Person genau das gegenteil behauptet und damit falsch liegt. Ich versuche mich daher nur auf die neuen Aspekte zu beschränken:

css 3 steht mittlerweile vor der tür und spätestens ab hier sind tabellen für das layout obsolet. [1] selbst mit der aktuellen css version ist all das überhaupt kein problem. tabellen sind einzig und allein für übersichten und auflistungen da, sonst für nichts!
Der IE6 wird kein CSS 3 unterstützen, also bringt mir das als Webdesigner nichts, der mit realen Kunden arbeiten muss, die zumeist dieses Requirement definieren: "Muss auf dem IE6 genauso aussehn".

HTML:
<style type="text/css">
<!--
  * {
    margin: 0;
    padding: 0;
  }
  
  #table {
    width: 90%;
    height: 64px;
    margin: 0px auto;
  }
  
  #table > .col1, #table > .col2, #table > .col3 {
    float: left;
    display: inline-block;
    width: 25%;
    height: 100%;
  }
  #table > .col1 { background: #d8dada; }
  #table > .col2 {
    width: 50%;
    background: #a8d5f2;
  }
  #table > .col3 { background: #98999a; }
-->
</style>
<!-- ... -->
<div id="table">
  <div class="col1">Spalte 1</div>
  <div class="col2">Spalte 2</div>
  <div class="col3">Spalte 3</div>
  <div style="clear: both;"></div>
</div>
Funktioniert nicht.
1) Die höhe der drei Elemente ist fix
2) Wenn ich die statische Höhe entferne, dann ist die statische Höhe so hoch wie das Browser Fenster und skaliert nicht weiter, wenn der Text größer wird

die eigenschaft right ist also ein "css-hack" in deinen augen? dann müsste genauso left, top, sowie bottom ein hack sein. oder gehen wir weiter: padding und margin -> css hacks.
Man kann mit so ziemlich jeder Programmiresprache if-statements sowie while schleifen programmieren. Ein If-statement ist aber überflüssig, weil man mit einer Whileschleife das exakte Verhalten von einem if-statement erreichen kann.
Wenn nun aber jemand anstelle eines IF-Statements eine while-schleife benutzt, dann bezeichne ich dies als Hack.
So ist es auch bei dem CSS attribut right: Right definiert die relative Positionierung eines Elements zu seinem parent Element.
Ich möchte jedoch, dass sich Eigenschaften wie z.B. die Höhe auf ein following-sibling bezieht. Dies ist nicht html&CSS ohne Tabellen nicht möglich, also bezeichne ich jede trickreiche Umsetzung als Hack.


wenn es dir per (x)html nicht passt, dann verwende doch bitte xml, mithilfe von xslt, xpath und anderen "spielereien". dort kannst du definieren was du willst und es sieht so aus wie du willst (ein sehr sehr sehr sehr schönes beispiel ist hierbei die wow-europe.com seite von blizzard (auch wenn man wow nicht mag ist es aus programmiertechnischer sicht auf jeden fall einen blick wert!), welche vollkommen auf xml basiert). komischerweise gibt es in xml überhaupt keine tabellen mehr
1) XML ist perfekt für Tabellen.. daher gibt es ja auch XML Datenbanken, weil die das Konzept perfekt unterstützen ;)
2) mit reinem XML kannst du keine Webseiten darstellen, sondern ledeglich die Struktur deiner Daten definieren
3) mittels XSLT kann ich ausgehend von meinem XML Datenmodell eine weitere XML datei basieren auf der XHTML DTD eine Webseite generieren - womit wir wieder bei der Problematik von Tabellen sind.
Überigend benutzt auch wow-europe.com an mindestens einer Stelle eine Tabelle, wo es sich nicht um Daten handelt ;)

semantik != verständnis. ich gebe deinen satz an dich zurück.
Ich habe nirgendwo behauptet, dass Semantik mit Verständnis gleichzusetzen ist, sondern ich habe mich auf das Verständis des Begriffs "Semantik" bezogen, was aufgrund meines Satzbaus eigentlich auch nicht anders zu interpretieren war.


jap, die css-layout variante ist um einiges einfacher wartbar (selbst mit vielen weiteren verschachtelten tabellen bzw. divs).
Das ist deine persönliche subjektive Meinung, die ich so akzeptieren muss. Ich halte es jedoch für überflüssig, mittels einer ordentlich durchgeführten Umfrage zu beweisen, dass die allgemeinheit das nicht so sieht.
Ich könnte desweiteren hier behaupten, dass du lügst, aber das wäre Irrsinn - unabhängig davon was ich denke.

ja, padding, margin und border sind ziemlich gemein. trotz allem sollte man solche sachen sowieso selten im layout verwenden, sondern eher um text o.ä. einzurücken.
Zum Einrücken gibt es sowas wie indention.
Wenn mir der Designer sagt, wie etwas auszusehen hat, dann gibt es hier nichts zu diskutieren. Ich muss es umsetzen. Wenn ich das nicht tue, bekomme ich kein Geld, weil er jemanden anders finden wird, der das kann. -> das magische Dreieck jeder ingenieurmäßigen Entwicklung: Kosten - Qualität - Zeit

Epic failure.

epic fail. eine tabelle ist kein mittel um ein layout zu erstellen, sondern um übersichten anzufertigen! warum wird in sehr vielen artikeln wohl von unsichtbaren tabellen gesprochen? wenn es denn layout-mittel sein sollen, warum spricht man nicht einfach von "layout-tabellen"? unsichtbare tabelle = layout-mittel -> css-layout = strukturierungsmittel - passt nicht ganz oder?
Eine Tabelle die für das Layout benutzt wird ist visuell nicht wahrnehmbar. Daher spricht man von einer unsichtbaren Tabelle, was der menschlichen Beschreibung der Sache sehr nahe kommt. Sie ist daher korrekt.

hierzu lege ich dir [9] ans herz. barrierefreiheit wird dir in zukunft viel viel häufiger begegnen als du denken magst.
Ich halte die Barrierefreiheit für sehr wichtig - unter anderem auch für meine Webseite. Das ändert jedoch nichts an der Tatsache, dass 1) die Barrierefreiheit überbewertet wird, und 2) sie nicht allgegenwärtig ist.

bist du behindert? ich denke nicht. woher weißt du dann, was für diese personen schwer ist?
Blinde Menschen können sprechen. Ich kann sprechen. Es existieren blinde Menschen.

was ist der unterschied zwischen einer html-tabelle und einer allgemeinen tabelle? beide werden mittels <table> eingeleitet und beschreiben im endeffekt die gleiche sache - eine tabelle. wo ist hierbei der unterschied? ich, und bestimmt auch viele andere, kann/können ihn nicht erkennen. die eine wird zum layouten verwendet, die andere für daten. trotz allem sind beides tabellen.
Eine Tabelle kann ein rein gedankliches Konstrukt sein. Wie ich eine Tabelle darstelle bleibt davon unberührt. Ich kann mein tabellarisches Konstrukt (Grid!) im Kopf möglicherweise auch einfach als Sequenz darstellen.

ganz ehrlich: an den ie 6 passe ich nichts mehr an!
Sehr schön, dann bleibt auf dem Markt mehr für mich über! Und das muss eine ganze Menge sein, da ca 75% meiner Kunden das "IE6 Requirement" aussprechen.

mittlerweile ist der internet explorer 7 standard und wer diesen nicht benutzt hat einfach pech gehabt.
Du diskriminierst technisch benachteiligte Menschen.

ich passe in 10 jahren doch auch nicht mehr auf den firefox 3 an, selbst wenn dieser noch bei 30% marktanteil sein sollte...
Mit dieser Ansicht hast du als Ingenieur in jeder Hinsicht versagt.


edit:
zu Claw und Michi12 im allgemeinen: Sehr schön wiederlegt und spiegelt auch großteils meine Meinung wieder. Muss ich sonst nicht viel mehr dazu sagen
Ich habe sein Gegenbeispiel ebenfalls wiederlegtr, womit du nun doch noch etwas dazu sagen musst ;) oder du wartest auf den nächsten versuch von claw.


An dieser Stelle würde ich gerne auf folgenden Artikel von David Maciejewski verweißen: Ignoriert den Internet Explorer!
Wir sollten eine neue natürliche Sprache definieren, da es quatsch ist, dass es auf der Welt viele verschieden natürliche Sprachen existieren.
Theoretisch eine interessante Idee - praktisch gesehn totaler Schwachsinn.


Es gibt nur genau einen guten Grund Tabellen fürs Layouten einzusetzen: Es gibt bei CSS 2 einfach keine vernünftigen Layoutmöglichkeiten (jedes div-Layout das ich bis jetzt gesehen habe war ein einziger großer Hack). Die Situation ist zur Zeit (seit es HTML gibt) „unbefriedigend“ und das wird sich so schnell auch nicht ändern, IE sei dank.
Du hast es geschafft die Thematik auf eine sehr schlanke Weise zusammenzufassen. Ich würde gerne auch so wenig schreiben, aber die Dogmatiker lassen sich leider nicht damit befriedigen, also muss ich mit harten Fakten kommen, die man mit subjektiven Meinungen nicht wiederlegen kann.
 
Zuletzt bearbeitet:
Mit diesem Posting möchte ich zu einigen Links Stellung beziehen, das ist inhaltlich etwas getrennt vom Rest, weswegen ich dafür ein eigenes Posting erstelle.


http://www.digital-web.com/articles/everything_you_know_about_CSS_Is_wrong/
Code:
#main { 
  display: table; 
  border-collapse: collapse; 
}
Praktisch gesehn keine mögliche Lösung (leider!!!). (IE6/7)
Damit fällt dieser Teil unter den Tisch.

http://webnews.simlink.de/tutorials/css/gleichhohe-spalten-auffullen/
#spalte_1, #spalte_2, #spalte_3
{
padding-bottom: 32767px;
margin-bottom: -32767px;
}
Also wenn das kein Hack ist .....

http://layouts.ironmyers.com/
Das 3-spaltige Layout auf dieser Seite skaliert nicht mit der Höhe.
Ich habe es ausprobiert.

http://www.webmasterpro.de/coding/news/2008/11/08/css-tabellen-fuers-webseitenlayout.html
Hier wird von einem Gegner meiner Darstellungen ein Beispiel verlinkt, das besagt, dass Tabellen Layout besser ist. Dort wird klar und deutlich gesagt, dass das Tabellen Layout sehr wichtige vorteile hat.
Ich möchte diese hier UNBEDINGT wiederholen, da ich es genauso sehe, aber ich sie nicht selbst formuliert habe, weil mir ein wenig die Argumentationsbasis basierend auf harten Fakten fehlt.
1) Fehleranfälligkeit
2) Verständlichkeit
Da jedoch table-cell und table-row praktisch für die Entwicklung von Webseiten noch nicht verfügbar sind, muss ich diese beiden wichtigsten Argumente mit den negativ-argumenten von dem HTML Element <table> ausgleichen.
Magisches Dreieck: Kosten - Zeit - Qualität.

http://netprotozo.com/grid/
Der Quellcode von diesen generierten wiederspricht so ziemlich allen Argumenten der CSS Dogmatiker.

http://webstandard.kulando.de/post/2006/11/20/video_zum_thema_barrierefreies_webdesign
Guter Vortrag!
Dennoch sind wir hier wieder bei den nicht-funktionalen Anforderungen ;)
Nichtsdestotrotz halte ich die Barrierefreiheit für sehr wichtig!

http://webstandard.kulando.de/post/2006/01/19/webseiten_drucken_webstandards_machen_es_moglich
pluspunkt, allerdings sind die möglichkeiten bei CSS dort auch begrenzt. State-of-the-art ist imho die generierung von pdfs oder ps dateien für den druck.

http://semantifiziert.de/htmlcss/checkliste-fur-die-layoutentwicklung
1) Bei der semantik gewinnt die Tabelle gegenüber der div-suppe ;)
2) Hier taucht in der Checklsite IE6/7 auf *top*
3) alternative Hintergrundfarbe: Darauf hab ich bisher nicht geachtet, und ist dennoch wichtig *top*



edit: Zur Ladestruktur einer Tabelle:
http://project-starcraft.de/tabelle.html
Die Tabelle wird bei mir angezeigt, bevor sie vollständig geladen wurde. Dieses Argument zählt also ebenfalls nicht.
 
Zuletzt bearbeitet:
PW-toXic schrieb:
Der IE6 wird kein CSS 3 unterstützen, also bringt mir das als Webdesigner nichts, der mit realen Kunden arbeiten muss, die zumeist dieses Requirement definieren: "Muss auf dem IE6 genauso aussehn".
wessen problem ist das? nicht meins. aktuelle version ist der ie7, bald kommend ie 8. wenn ein paar meinen, sie müssen auf dem ie 6 bleiben (privat user), dann sollen sie sich nicht aufregen, dass das layout der seite vollkommen für den popo aussieht. ich entwickle doch nicht mit aktueller und kommender technologie, damit ich für ein altes teil von 2004 (!) noch irgendwelche brauchbaren ergebnisse bekomme.
PW-toXic schrieb:
1) Die höhe der drei Elemente ist fix
2) Wenn ich die statische Höhe entferne, dann ist die statische Höhe so hoch wie das Browser Fenster und skaliert nicht weiter, wenn der Text größer wird
dann verwende min-height anstatt einer festen. so schwer ist das nicht.
PW-toXic schrieb:
1) XML ist perfekt für Tabellen.. daher gibt es ja auch XML Datenbanken, weil die das Konzept perfekt unterstützen ;)
xml ist perfekt für tabellen. tabellen sind nicht perfekt für das layout. desweiteren habe ich dies nur erwähnt, da du deine tags <menu>, <sidebar> und <content> verwenden wolltest. dort war keine rede von tabellen.
PW-toXic schrieb:
2) mit reinem XML kannst du keine Webseiten darstellen, sondern ledeglich die Struktur deiner Daten definieren
ja und damit bin ich auf den einen satz von dir eingegangen, dass man layout, struktur und content separieren soll, was mit xml perfekt funktioniert. weshalb ist es auf einmal ein punkt gegen xml? entweder oder, beides geht nicht.
PW-toXic schrieb:
Überigend benutzt auch wow-europe.com an mindestens einer Stelle eine Tabelle, wo es sich nicht um Daten handelt ;)
ich finde auf der startseite kein einziges vorkommen von "<table" im source, wodurch sich deine antwort bewahrheitet. und nein, ich werde jetzt auch nicht jede unterseite durchsuchen. wenn deine behauptung trotzdem wahr ist, dann gib mir doch bitte einen link, am besten auch mit codezeile oder auszug aus dem source, wo eine tabelle für das layout, nicht für daten verwendet wird.
PW-toXic schrieb:
Das ist deine persönliche subjektive Meinung, die ich so akzeptieren muss. Ich halte es jedoch für überflüssig, mittels einer ordentlich durchgeführten Umfrage zu beweisen, dass die allgemeinheit das nicht so sieht.
Ich könnte desweiteren hier behaupten, dass du lügst, aber das wäre Irrsinn - unabhängig davon was ich denke.
siehst du es nicht ein oder willst du es nicht? die divs sind objektiv besser wartbar als jegliche tabelle. ich kann bei diesen z.b. ohne probleme eine weitere "spalte" definieren. bei einer tabelle, müsste ich jeder zeile eine neue spalte verpassen. schon ein punkt gegen die tabelle oder?
PW-toXic schrieb:
Zum Einrücken gibt es sowas wie indention.
was denkst du was margin, padding entsprechen?
PW-toXic schrieb:
Wenn mir der Designer sagt, wie etwas auszusehen hat, dann gibt es hier nichts zu diskutieren. Ich muss es umsetzen. Wenn ich das nicht tue, bekomme ich kein Geld, weil er jemanden anders finden wird, der das kann. -> das magische Dreieck jeder ingenieurmäßigen Entwicklung: Kosten - Qualität - Zeit
dass du es umsetzen musst ist richtig. man sollte aber nichtsdestotrotz auf margin und padding so weit wie möglich verzeichten, was der eigentliche inhalt meines satzes war. warum du jetzt drum herum redest weiß ich nicht.
PW-toXic schrieb:
http://www.youtube.com/results.php?search_query=epic+fail -> also sind alle dumm und bringen kein englisch?
PW-toXic schrieb:
Eine Tabelle die für das Layout benutzt wird ist visuell nicht wahrnehmbar. Daher spricht man von einer unsichtbaren Tabelle, was der menschlichen Beschreibung der Sache sehr nahe kommt. Sie ist daher korrekt.
http://de.wikipedia.org/wiki/Tabelle
Eine Tabelle ist eine geordnete Zusammenstellung von Texten oder Daten. Die darzustellenden Inhalte werden dabei in Zeilen und Spalten gegliedert, die grafisch aneinander ausgerichtet werden. Die erste Spalte in der nachfolgenden Tabelle heißt Vorspalte, die erste Zeile Kopfzeile. Weiterhin bestehen Tabellen aus Tabellenfeldern (Zellen). Der Verweis auf ein Feld ist die Adressierung (Referenz)
auch gut, dass in der definition einer tabelle, kein wort über irgendwelche layout sachen geschrieben steht. vllt weil sie einfach nicht dafür "erfunden" wurde? eine tabelle beinhaltet daten und mehr nicht.
PW-toXic schrieb:
Das ändert jedoch nichts an der Tatsache, dass 1) die Barrierefreiheit überbewertet wird, und 2) sie nicht allgegenwärtig ist.
warten wir ein paar jahre ab. natürlich ist es nicht sinnvoll auf handys anzupassen, wenn deine seite sich nicht für handys interessant ist. wenn das trotz allem jeder so meint, dann haben wir irgendwann vllt 5 seiten von 30 im internet, welche überhaupt mit einem handy lesbar sind.
PW-toXic schrieb:
Blinde Menschen können sprechen. Ich kann sprechen. Es existieren blinde Menschen.
es kein Sinn mit dem Holzhammer zu versuchen ein Bildergallerie für Bilde zugänglich zu machen
meinst du nicht, dass dieser satz für den popo war? klar kann man dafür nichts entwickeln, ich kann schließlich auch einem tauben keinen ton auf der webseite hinterlegen.
PW-toXic schrieb:
Eine Tabelle kann ein rein gedankliches Konstrukt sein. Wie ich eine Tabelle darstelle bleibt davon unberührt.
tabellen haben immer zeilen, spalten und einzelne zellen, in jedweder art - ob gedanklich oder nicht. eine tabelle ohne zeile oder ohne spalte gibt es nicht. sobald ich diese auf papier bringe, ist diese sichtbar und in jede zelle kommen daten. was hat dies nun mit layout zu tun?
PW-toXic schrieb:
Sehr schön, dann bleibt auf dem Markt mehr für mich über! Und das muss eine ganze Menge sein, da ca 75% meiner Kunden das "IE6 Requirement" aussprechen.
sehr schön und schon wieder eine seite mehr, weshalb die ie 6 user nicht upgraden müssen. irgendwann bricht alles mal zusammen und die technologie entwickelt sich immer langsamer, da der gute alte internet explorer 6 eine extra wurst braucht. was ist eigentlich mit dem ie 5.5? hätte dieser jetzt noch 10% markanteil, würdest du für diesen dann auch noch entwickeln? oder bleibst du beim 6er, weil dieser den "aktuellen standard" beinhaltet? wenn windows 7 aktuell ist, entwickelst du dann für den ie6, den ie7 und den ie8? oder entwickelst du für den aktuellen internet explorer? die frage würde mich brennend interessieren.
PW-toXic schrieb:
Du diskriminierst technisch benachteiligte Menschen.
ich entwickle auch nicht mehr für windows 2000 oder me. ich entwickle zur zeit für xp (und demzufolge vista). wenn also etwas nicht mehr für 2000 möglich ist, dann fällt der 2000 support einfach flach.
http://www.foobar2000.org/ -> Operating System: Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008.
der player hatte bis zu einer gewissen version noch win2000 support. nun fällt dieser aber weg, da es einfach keinen interessiert (außer den usern selbst), ob etwas läuft was vor jahren aktuell war.
btw, wieso diskriminiere ich technisch benachteiligte menschen? es gibt den internet explorer 7 und sogar die 8 beta für windows xp. es ist die eigene schuld der user, wenn sie nicht updaten. es geht sogar ganz einfach per windows update, aber wenn man zu stur ist, diese zu aktivieren, kann ich diesen menschen auch nicht mehr helfen. wenn diese menschen so ignorant sind, bin ich es auch.
PW-toXic schrieb:
Ich habe sein Gegenbeispiel ebenfalls wiederlegtr, womit du nun doch noch etwas dazu sagen musst ;) oder du wartest auf den nächsten versuch von claw.
nein, wir warten nur alle irgendwie auf deine chronische ader tabellenlayouts zu verteidigen, wobei es wirklich keinen grund mehr für diese gibt.
PW-toXic schrieb:
Du hast es geschafft die Thematik auf eine sehr schlanke Weise zusammenzufassen. Ich würde gerne auch so wenig schreiben, aber die Dogmatiker lassen sich leider nicht damit befriedigen, also muss ich mit harten Fakten kommen, die man mit subjektiven Meinungen nicht wiederlegen kann.
deine harten fakten sind sehr subjektiv geprägt. hierbei wage ich nur einen blick auf deine so genannte "div-suppe", welche du als ebenbild zu den tabellen kreirt hast. diese version ist vllt gut und schön, trotz allem ist sie nicht das optimum an code (meine sicherlich auch nicht, aber sie zeigt das an was du mit tabellen machst, auf eine kurze art und weise).
PW-toXic schrieb:
http://layouts.ironmyers.com/
Das 3-spaltige Layout auf dieser Seite skaliert nicht mit der Höhe.
Ich habe es ausprobiert.
muss man dir alles vorkauen? das sind templates, keine lösungen.
PW-toXic schrieb:
http://netprotozo.com/grid/
Der Quellcode von diesen generierten wiederspricht so ziemlich allen Argumenten der CSS Dogmatiker.
ich kann im quellcode nix ungewöhnliches erkennen.
PW-toXic schrieb:
State-of-the-art ist imho die generierung von pdfs oder ps dateien für den druck.
also soll ich für jede meiner webseiten eine postscript-datei mitbringen? meinst du nicht das ist völlig vorbei am eigentlich erzielten? man will einen ausdruck einer webseite haben. diesen kann man nun ganz einfach via css realisieren (unnötigen mist kann man hier z.b. ausblenden). wieso versuchst du jetzt mit pdf oder ps die sache zu verschlimmbessern?
PW-toXic schrieb:
http://semantifiziert.de/htmlcss/checkliste-fur-die-layoutentwicklung
1) Bei der semantik gewinnt die Tabelle gegenüber der div-suppe ;)
es gibt keine erwähnung von tabellen in diesem artikel. reininterpretieren kann ich auch, ich mache es aber nicht.
PW-toXic schrieb:
2) Hier taucht in der Checklsite IE6/7 auf *top*
ja und irgendwann ie 8, bald auch noch ie 9, ... denn bei 30% marktanteil würdest du ja immer noch optimieren, obwohl du weißt, dass der browser seit 5 jahren nicht ein einziges, aus technologischer sicht, update bekommen hat, sondern dies nur mit einer neuen major version auftritt.
 
Allein schon das Argument mit der Wartbarkeit: (@ TE)
Code:
<table id="colmask">
	<tr>
		<td id="colLeft">Spalte 1</td>
		<td id="colMid">Spalte 2</td>
		<td id="colRight">Spalte 3</td>
	</tr>
</table>
Nehmen wir obigen Code. Du setzt die Tabelle also als reines Stilmittel ein, richtig? Es soll keine Datenbeziehung abgebildet werden (was bei einem Forum durchaus noch der Fall ist).

Nun, du willst aber, dass es drei Spalten gibt, die gleich lang sind - gut. Also benutzt du in diesem Fall eine HTML-Tabelle zum Layout.

Aber was, wenn das Layout geändert werden soll?

In diesem Fall müsste man also alle HTML-Dateien, auf denen diese Struktur zu finden ist, umändern.

Wäre das Layout aber mit <div>s und CSS realisiert worden, reichte eine Änderung im Stylesheet.
___

Das Markup soll lediglich die Struktur und den Inhalt repräsentieren, richtig? Das Design soll durch Stylesheets festgelegt werden. Wie man aber oben gesehen hat, ist dies bei einem Layout mit HTML-Tabellen nicht der Fall.
___

Worauf stützt du dich in deiner Argumentation?
___

@ claW. Den IE6 darfst du nicht ignorieren. Er hat einfach einen zu hohen Marktanteil, zumal es Leute gibt, auf deren Rechner sich der IE7 auch nach intensiver Fehlersuche und Problembehandlung nicht installieren lässt (beim letzen Neuaufsetzen von XP hab ich es komischerweise noch geschafft :freak:). Erst Barrierefreiheit predigen, dann einen wichtigen Browser ignorieren :rolleyes:.

Mit der Zeit wird auch der IE6 aussterben, aber das dauert eben. War schon mit allen vorherigen Versionen so.
 
Zuletzt bearbeitet:
Warum Tabellen zum Layouten besser sind...
Recht provokante Überschrift. Du unterstellst, dass Tabellen immer die besser zum Layouten sind?

Ich persönlich ziehe reine CSS-Layouts Tabellen vor. Was du "DIV-Suppe" nennst, halte ich für noch weitaus übersichtlicher als eine Unmenge an <td>, <tr> und Co.

Sicher haben Tabellen-Layouts ihre Einsatzbereiche. Die Seite des örtlichen Kleingartenvereins braucht wahrscheinlich nicht unbedingt ein barrierefreies CSS-Layout mit flexibler Breite, Schriftgrößen und Co. Als seriöses Unternehmen ist meiner Ansicht nach aber ein professionelles Layout für den Webauftritt wichtig. Und zu "professionell" zählt für mich neben validem (X)HTML und CSS auch der Einsatz zeitgemäßer und moderner Technologien und dazu zählt ein CSS-Layout.

Was mit Tabellen geht mit CSS auch. Punkt. Natürlich geht manches in CSS nur mit ein bisschen "Trickserei", aber ist der Einsatz von Tabellen als Layout-Werkzeug nicht auch eine einzige "Trickserei"?

Im Endeffekt ist Tabelle vs. CSS eine Geschmacksfrage. Der eine machts so, der andere so. Wie gesagt, ich ziehe reine CSS-Layouts vor, allerdings ist mir ein gut gemachtes Tabellen-Layout lieber als ein schlecht gemachtes CSS-Layout.

Noch zum Thema IE6:
Ob man den IE6 (oder gar IE5) unterstützen muss oder nicht, hängt ganz klar von der Zielgruppe ab. Eine Seite wie ComputerBase hat eine junge und versierte Zielgruppe, die mit großer Wahrscheinlichkeit einen halbwegs aktuellen Browser besitzt oder zumindest in der Lage ist IE7 oder Firefox zu installieren. Andere Seite die eine wesentlich ältere und technisch "unbedarftere" Zielgruppe ansprechen müssen auch ältere Browser unterstützen. Und das geht sowohl mit CSS als auch mit Tabellen, denn was zählt ist das Endergebnis.
 
Durch das Video zu Barriere freien Webseiten ist mir etwas Interessantes aufgefallen.

Da PW-toXic Barrierefreiheit als nicht-funktionale Anforderung darstellt (und anderes auch), habe ich mir mal ein paar Gedanken dazu gemacht, was für eine Webseite überhaupt essentiell notwendig ist.
Im Grunde wird für eine verständliche Webseite nur (X)HTML benötigt. CSS (oder Design allgemein) oder JavaScript sind dabei nur nicht-funktionale Erweiterungen (Sowieso bin ich der Auffassung, dass eine Webseite vollständig funktionieren sollte, ohne dass man JavaScript aktiviert haben muss).
Die Inhalte werden dabei klar von oben nach unten dargestellt (wie in dem Video) und sind dabei trotzdem gut leserlich und verständlich. Das hat auch gleich noch den Vorteil (ohne dass man etwas zusätzlich machen muss), dass alle möglichen Lesegeräte wie Handy, ScreenReader, Konsolenbrowser etc. die Webseite problemlos darstellen können (also hat man Barrierefreiheit gleich schon mit drin).
Verwendet man nun jedoch eine Tabelle als Layout-Mittel, so verpasst man der Webseite eine gewisse Optik. Also ein Design, was ja im Grunde eine nicht-funktionale Anforderung ist.
Eine Tabelle ist also einzig und allein dort funktionell, wo der Inhalt sonst nicht verständlich oder umständlicher zu verstehen wäre. Überall anders ist er eine nicht-funktionale Erweiterung und somit meiner Interpretation der Aussage von PW-toXic nach, zu vermeiden oder nicht benötigt.

Ein weiterer Punkt ist die Aussage, dass die Webseite auf dem IE6 funktionieren muss. Nach meiner Interpretation des Videos über Barrierefreiheit, hat jeder einen Nachteil, der technisch sowie biologisch nicht im Stande ist, den vollen Funktionsumfang des Webs zu nutzen. Da der IE6 mit modernen Design-Methoden nicht klar kommt, stellt dies den IE6 gleich mit einem ScreenReader(kann keine Bilder bzw. Design darstellen) oder einem Handy(relativ kleiner Bildschirm).
Das würde bedeuten, dass nach PW-toXics Aussage Funktionalität auf dem IE6 eine Anpassung an Barrierefreiheit darstellt und somit auch zu einer nicht-funktionalen Anforderung wird und somit vernachlässigt werden kann.

Jetzt sollte man aber noch berücksichtigen, dass Kundenwünsche (wie die Funktionalität mit dem IE6) aus kommerziellen Gründen nicht als nicht-funktionalen Anforderung dargestellt werden kann, sondern als ein Muss. Meiner Meinung nach würde das (oder der explizite Wunsch eines Tabellen-Layouts) dann die Benutzung eines Tabellen-Layouts legitimieren, wo es nicht anders umzusetzen bzw. gewünscht ist (warum auch immer).
Es ist aber allgemein Verständlich, dass man das „Wie es gemacht werden sollte“ nicht mit kommerziellen Gründen versuchen sollte zu wiederlegen, da sich diese zwei Bereiche von vorherein ausschließen (Wenn man Geld dafür bekommt etwas in HTML 1.0 zu schreiben, dann schreibt man es eben in HTML 1.0 und nicht in XHTML oder gar XML, egal was für Vorteile es einem bringen würde).

Allerdings sollte man nicht vernachlässigen, dass CSS einem so viel mehr an gestalterischen Möglichkeiten bietet, als simple 2 bis 3 Spalten-Layouts. Als Vergleich würde sich eine Tabelle, in dessen Zellen jeweils ein Bild ist (Schachbrett-Muster), zu einer Collage (in der die Bilder völlig durcheinander und teilweise überlappend angebracht sind) anbieten.

Als letzten Punkt möchte ich die Verwendung von <div style=“display:table;“> anstatt <table> betrachten.
Aus dem Video über Barrierefreiheit erfährt man, dass ein ScreenReader die Webseite anders interpretiert als ein Browser. Es macht vielleicht keinen Unterschied im Browser, ob man jetzt die eine oder die andere Methode verwendet, aber ein ScreenReader würde da wohl Probleme bekommen (der ScreenReader steht hier nur als Beispiel. Genauso gut könnte man auch einen Menschen vor den Quelltext setzen und ihn fragen, was er sieht).
Während div nur einen Bereich darstellt erzeugt man mit table eine gewisse Logik (Stichwort: logische Auszeichnung). Das bedeutet man würde eine Beziehung zwischen den verschiedenen Inhalten der Tabelle vermuten, wo keine ist.
Bei einem div als table hat man dieses Problem nicht, da der ScreenReader die style Angaben nicht berücksichtigt.
Dies ist daher ein weiterer Punkt Tabellen-Layouts mit <table> zu vermeiden.


Edit: Als eine interessante Ergänzung möchte ich noch hinzufügen, dass ich einmal einer kommerziellen Webseite begegnet bin, die das Browserkompatibilitätsproblem so gelöst hat:
Wenn man auf die Webseite ging und man nicht den IE in einer speziellen Version verwendet hatte, war das Einzigste was man dort lesen konnte:
"Diese Webseite wird nur im InternetExplorer in der Version ? [ich weiß nicht mehr welche es war] dargestellt"
Warum das? Weil auf der Webseite JavaScripts benötigt wurden, die anscheinend nur im Internet Explorer "vernünftig" liefen.
 
Zuletzt bearbeitet:
Zurück
Oben