Pedro: Was denn nun....Frames, Tabellen, Layer, CSS

Hallo Ihr...

Ich blick langsam nicht mehr durch...habe jetzt div. Beiträge im Forum gelesen. Die einen schreiben, Frames seien schlecht (find ich auch) die andern sagen wiederum das mit Tabellen zu lösen sei schlecht, mann soll ein reines CSS Design machen....Irgendwie komm ich einfach nicht weiter....wie soll man eine gute zukunftsorientierte Webstite programmieren, die auf möglichst allen gängigen Browsern / Plattformem funktioniert?

Danke und Gruss

Pedro

  1. Hi

    Ich blick langsam nicht mehr durch...habe jetzt div. Beiträge im Forum gelesen. Die einen schreiben, Frames seien schlecht (find ich auch) die andern sagen wiederum das mit Tabellen zu lösen sei schlecht, mann soll ein reines CSS Design machen....Irgendwie komm ich einfach nicht weiter....wie soll man eine gute zukunftsorientierte Webstite programmieren, die auf möglichst allen gängigen Browsern / Plattformem funktioniert?

    1. Das steht zu Hauf im Archiv. Es kommt auf's selbe raus, wenn wir hier antworten oder du 20 Minuten im Archiv suchst, weil da steht wirklich alles dazu..

    2. "Frames sind böse"[tm],"Flash ist böse"[tm], "Tabellen sind böse"[tm] und HTML ist toll >;)

    Fabian

    1. Hab ich ja....aber wo steht denn das nun?

      und warum sind tabellen schlecht?

      Pedro

      1. Abgesehen davon ist die Suchfunktion defekt:

        2003.txt kann nicht gelesen werden....

        1. Hallo Pedro,

          ohne mich in die Diskussion einmischen zu wollen:

          2003.txt kann nicht gelesen werden....

          Ist doch egal, im 2003er-Archiv steht doch noch gar nichts drin. Ist halt blöd, dass das vorselektiert ist.

          Das Archiv des Jahres 2002 funktioniert wunderbar - hier mal ein Beispielsuchergebnis:
          http://selfsuche.teamone.de/cgi-bin/such.pl?suchausdruck=Frames+Tabellen+CSS&case=on&lang=on&feld=alle&index_5=on&hits=200

          Grüße,

          Christian

          --
          Ich wünsche allen ein frohes neues Jahr 2003!
          Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.
          Hmm, was könnte ich sonst noch in die Signatur schreiben?
      2. Hallo Pedro,

        und warum sind tabellen schlecht?

        Tabellen sind nicht schlecht, aber für reine Layout-Geschichten nicht unbedingt zu empfehlen. Man hatte die Tabellen-Tags ursprünglich eingeführt, um klassische Daten aus Tabellen-Kalkulationen, etc. in HTML abbilden zu können. Später haben dann Webdesigner diese Techniken trickreich zur Umsetzung komplexer Layouts eingesetzt. Und das ist bis heute so geblieben.

        Die Nachteile von Tabellen machen sich erst bei aufwendigen Layouts bemerkbar:

        • unübersichtliche Struktur (bei hoher Verschacheltungstiefe)
        • hohe Fehleranfälligkeit (sollte man z.B. vergessen, <td> mit </td> zu schließen)
        • Schwierigkeiten mit Vorlese-Browsern, da versucht wird, Inhalte mit einem Sprachprozessor auszugeben (Stichwort Barrierefreiheit, d.h. keine Benutzergruppen wie Behinderte ausschließen)

        Zukunftssicheres Webdesign wäre (IMHO): XHTML, CSS und DIV-Boxen als Tabellen-Ersatz.

        Oder ist jemand anderer Meinung?

        Gruß und frohes Neujahr!
        Danny

        1. Hallo Danny,

          was du schreibst ist ja teilweise im Prinzip richtig, aber in der Praxis wohl kaum umsetzbar:

          • unübersichtliche Struktur (bei hoher Verschacheltungstiefe)

          Die Struktur ist doch hier gar nicht gemeint (wenn ich das richtig verstanden habe). Es geht ja darum, ein ungefähr bekanntes Design irgendwie in HTML umzusetzen. Die Tabellen geben also nicht die Struktur vor, sondern nur die technische Lösung, mit der diese Struktur dem Browser klar gemacht wird. Was am Ende auf dem Monitor erscheinen soll, ist ja meistens in etwa schon vorher bekannt. Ob man das dann mit CSS oder Tabellen umsetzt ändert an der Struktur an sich (also dem, was der User "sieht") nichts (sollte es zumindest nicht).

          • hohe Fehleranfälligkeit (sollte man z.B. vergessen, <td> mit </td> zu schließen)

          Sicher kann man bei Tabellen viel falsch machen. Aberd dafür gibt es doch den Validator.

          • Schwierigkeiten mit Vorlese-Browsern, da versucht wird, Inhalte mit einem Sprachprozessor auszugeben (Stichwort Barrierefreiheit, d.h. keine Benutzergruppen wie Behinderte ausschließen)

          Dazu gibt es AFAIK HTML und CSS Attribute, mit denen sich die Reihenfolge steuern lässt. Kann mich aber auch täuschen, weil ich das noch nie versucht habe.

          Zukunftssicheres Webdesign wäre (IMHO): XHTML, CSS und DIV-Boxen als Tabellen-Ersatz.

          Was hat denn XHTML mit Tabellen- oder Layer-Layouts zu tun? XHTML ist nur ein "Remake" von HTML 4, mit dem man im Prinzip genau das gleiche machen kann wie mit HTML 4. Auch mit XHTML kann man Framesets realisieren (Version 1.0), auch bei XHTML gibt es <table>-Tags und auch bei XHTML kann man Stylesheets einbinden. Sicher ist XHTML zukunftsorientiert, weil es wahrscheinlich nach und nach (SGML-)HTML ablösen wird. Aber die Diskussion ob Frames, Tables oder CSS bleibt auch hier bestehen.

          CSS und DIV-Boxen (also Layer-Design) ist sicher zukunftsorientiert und zum Darstellen einer Seite in modernen Browsern besser geeignet als ein Tabellenlayout. Dafür ist es aber kaum rückwärtskompatibel. Es ist ja kein Geheimnis, dass NC4 mit Layer-Designs _massive_ Probleme hat und IMHO sollten Webseiten in diesem Browser zumindest noch übersichtlich dargestellt werden und gut lesbar sein.

          Ich bin der Meinung, dass es durchaus möglich ist, gute Tabellenlayouts zu erstellen. Allerdings muss man hier gut aufpassen, dass man nichts übersieht (z.B. die Tabellen unterteilen, um die Ladezeit zu optimieren). Und in vielen Fällen entsprechen Tabellen auch genau der semantischen Einteilung der Seite. Ich muss aber zugeben, dass mit Tabellen auch gerne viel Unfug getrieben wird.

          Viele Grüße,
          Robert

          1. Hi Rob,

            Danke für Deine offene Meinung. Meine Antwort darauf ist: Jaein...

            Mit der Struktur meinte ich nicht die Darstellung am Bildschirm, sondern den HTML-Code. Und der ist für Mensch und Maschine eben schwerer zu interpretieren, wenn für visuell auf den ersten Blick recht einfache Layouts im Hintergrund komplizierte Tabellen-Konstrukte eingesetzt werden. Das man gemeinte Codemonster auch PHP und Co. generieren kann, ist mir bekannt...

            Kein Validator ändert etwas an der Eigenwilligkeit einiger Browser und gewissen Work-Arrounds, bzw. Fixes. Das gilt für Tabellen genauso wie für CSS.

            XHTML hat gar nichts mit Tabellen oder Layern zu tun. Der Unterschied von HTML4 zu XHTML ist mir wohl bekannt. Pedro hatte außerdem die Frage gestellt wie man eine gute zukunftsorientierte Website programmieren sollte... Und ich bin mehr oder weniger darauf eingegangen. XHTML bringt halt den Vorteil, dass es strenger strukturiert sein muß, d.h. keine Tag-Aussnahmen wie z.B. <br> mehr bestehen, die in HTML4 nicht abgeschlossen werden müssen. Daher ist XHTML wohlgeformt und 100% in der eierlegenden Wollmilchsau XML abbildbar, die in den Augen der Visionäre "die" Auszeichnungssprache der Zukunft sein wird.

            NC4 hat mit Layer-Designs massive Probleme? Du meinst wohl mit CSS2 und DHTML, denn Netscape ist ja bekanntlich der Erfinder der Layer-Technologie. Die Rückwärtskompatiblität ist auch kein unlösbares Problem, wichtig ist ja das Webseiten in alten Browsern überhaupt dargestellt werden. Und mit CSS-Weichen und Serverseiten Abfragen läßt sich da ein akteptabler Workarround erzielen.

            Aber Rückwärtskompatibilität in allen Belangen bremst den Fortschritt und sorgt dafür, dass wohl 2005 noch Leute mit NN4 surfen werden... IMHO muß irgendwann mal ein Schlußstrich gezogen werden. Entweder Update oder Pech gehabt...

            Viele Grüße
            Danny

            1. Hallo Danny,

              eigentlich hatte ich mir ja einmal vorgenommen, mich aus Diskussionen wie "Netscap 4 - immer noch beachten?" oder eben dieser "Tabellen vs. Layer" herauszuhalten, weil sowieso nichts dabei herauskommt und es in Wirklichkeit auch egal ist. Aber was solls - Prinzipien sind schließlich dafür da, gebrochen zu werden.

              Hi Rob,

              Mein Bruder nennt mich immer "Bobby" - frag' mich aber nicht, woher das kommt ;-)

              Kein Validator ändert etwas an der Eigenwilligkeit einiger Browser und gewissen Work-Arrounds, bzw. Fixes. Das gilt für Tabellen genauso wie für CSS.

              Mit dem Validator bezog ich mich auf die "hohe Fehleranfälligkeit (sollte man z.B. vergessen, <td> mit </td> zu schließen)", also vergleichsweise offensichtliche Fehler im Code, die aber durch eventuelle Unübersichtlichkeit einem Menschen verschleiert werden können. Die Eigenwilligkeit einiger Browser halte ich übrigens gerade für ein Argument für Tabellen: Tabellen kann jeder, sogar Netscape 4 kann in Tabellen Hintergrundfarben und Innenabstände meistens besser darstellen, als in <div>-Tags.

              [XHTML] Pedro hatte außerdem die Frage gestellt wie man eine gute zukunftsorientierte Website programmieren sollte... Und ich bin mehr oder weniger darauf eingegangen.

              Ach so. Ja, da hast du mit XHTML sicher Recht.
              [Wieso hat sich eigentlich noch niemand über das "programmieren" von Pedro aufgeregt ;-). Ist doch sonst eines der beliebtesten Themen...]

              *scnr*

              NC4 hat mit Layer-Designs massive Probleme? Du meinst wohl mit CSS2 und DHTML, denn Netscape ist ja bekanntlich der Erfinder der Layer-Technologie.

              Hat Netscape schon style-Sheets interpretiert, bevor sie vom W3C standartisiert worden sind? Ich meine in diesem Fall mit "Layer" nicht die <layer>-Tags, sondern mit CSS positionierte Bereiche. Ich versuche gerade, mir diese Bezeichnung auch für andere Elemente als <layer> anzugewöhnen, wenn sie mit CSS positioniert sind.

              Meinen Erfahrungen zu Folge kennt NC4 zwar die meisten wichtigen CSS-Attribute, interpretiert sie aber immer wieder unvorhersehbar falsch. Beispielsweise ignoriert er manchmal margin- und padding-Angaben, wenn das Element weitere Block-Elemente enthält oder wendet diese Angaben auch auf die untergeordneten Elemente an, was keinen Sinn macht. Andere Angaben werden dagegen anscheinend durch den Beginn eines neuen Tags aufgehoben. border- und padding-Angaben beißen sich meistens. Mit prozentualen Angaben (für flexible Seiten ganz wichtig) hat er so seine Probleme, line-height wird überinterpret und position-Angaben werden eher lässig ausgewertet (gerade die sind wichtig, wenn man auf Tabellen verzichten will).
              Und wenn man scrollt oder die Fenstergröße verändert, ist sowieso nichts mehr, wie es einmal war...

              Aber das sind alles Details. Ich muss Chräcker voll zustimmen: Wie man die Seiten technisch realisiert, ist nebensächlich. Wichtig ist nicht, wie die Seiten vom Browser gerendert werden, sondern wie sie vom Menschen "gerendert" (also aufgenommen und verstanden oder auch nicht verstanden) werden.

              Aber Rückwärtskompatibilität in allen Belangen bremst den Fortschritt und sorgt dafür, dass wohl 2005 noch Leute mit NN4 surfen werden... IMHO muß irgendwann mal ein Schlußstrich gezogen werden. Entweder Update oder Pech gehabt...

              Dieses Thema wird hier ja zur Genüge diskutiert, deshalb möchte ich mich lieber enthalten.

              Robert

              1. Hällo ägän,

                weil sowieso nichts dabei herauskommt und es in Wirklichkeit auch egal ist.

                Mhmmm. Irgendwie hast Du Recht...

                Tabellen kann jeder, sogar Netscape 4 kann in Tabellen Hintergrundfarben und Innenabstände meistens besser darstellen, als in <div>-Tags.

                Da ist was dran. Aber es geht auch anders. Selbst innerhalb <div> läßt sich mit NN4 und seinen CSS-Interpreationen einiges anstellen. Leider ist das aber verdammt aufwendig und deshalb ein Argument für Tabellen.

                programmieren...

                codieren oder taggen trifft es besser ;)

                Layer

                steht ja allgemein für Ebene. Eigentlich ist dieser Begriff also nur im Kontext eindeutig. Layer-Tag, DIV-Layer, SPAN-Layer, Photoshop-Layer ??? ;)

                Um die Diskussion hiermit abzuschließen: es gibt sicher nicht "die" ultimative Lösung, es kommt immer auf die kontrekte Aufgabenstellung und andere Vorgaben an. Bis man ohne Nachteile komplett auf Tabellen verzichten kann, werden uns wohl noch einige Silvester-Böller um die Ohren fliegen... ;)

                Cheers!
                Danny

                1. Hallo Danny,

                  Bis man ohne Nachteile komplett auf Tabellen verzichten kann, werden uns wohl noch einige Silvester-Böller um die Ohren fliegen... ;)

                  Das hast du sehr schön ausgedrückt ;-)

                  Viele Grüße,
                  Robert

              2. Hällo ägän,

                weil sowieso nichts dabei herauskommt und es in Wirklichkeit auch egal ist.

                Mhmmm. Irgendwie hast Du Recht...

                Tabellen kann jeder, sogar Netscape 4 kann in Tabellen Hintergrundfarben und Innenabstände meistens besser darstellen, als in <div>-Tags.

                Da ist was dran. Aber es geht auch anders. Selbst innerhalb <div> läßt sich mit NN4 und seinen CSS-Interpreationen einiges anstellen. Leider ist das aber verdammt aufwendig und deshalb ein Argument für Tabellen.

                programmieren...

                codieren oder taggen trifft es besser ;)

                Layer

                steht ja allgemein für Ebene. Eigentlich ist dieser Begriff also nur im Kontext eindeutig. Layer-Tag, DIV-Layer, SPAN-Layer, Photoshop-Layer ??? ;)

                Um die Diskussion hiermit abzuschließen: es gibt sicher nicht "die" ultimative Lösung, es kommt immer auf die kontrekte Aufgabenstellung und andere Vorgaben an. Bis man ohne Nachteile komplett auf Tabellen verzichten kann, werden uns wohl noch einige Silvester-Böller um die Ohren fliegen... ;)

                Cheers!
                Danny

    2. Hi

      Tag

      1. "Frames sind böse"[tm],"Flash ist böse"[tm], "Tabellen sind böse"[tm] und HTML ist toll >;)

      Sind sie wirklich aus tiefsten und reinen herzen böse oder werden sie nur böse gemacht, von so menschen wie sie hier sind ?

      Mfg Analpha

      1. "Frames sind böse"[tm],"Flash ist böse"[tm], "Tabellen sind böse"[tm] und HTML ist toll >;)

      Schmeiss Dir die Steine selber an den Kopf. Koennte Dir vielleicht helfen. ;)

      Wilhelm

  2. Hallo,

    ...wie soll man eine gute zukunftsorientierte Webstite programmieren,

    ...so, das der Gehalt möglichst vollkommen beim Menschen ankommt. Ob Du dafür Frames, Tabellen, Div-Bereiche oder xhtml, Java oder Javascript nutzt ist egal. Manche Seiten mit CSS-Div-design in reinstem xhtml transportieren weniger Gehalt zum Menschen als eine Frame-Flash-Tabellen-Seite.

    Das sind alles nur Techniken, Werkzeuge. Nimm die, die der Sache dienen. Und laß Dich nicht von "die-sind-böse" oder "die-sind-gut" iritieren. Finde Deinen eigenen Stil.

    Chräcker

    1. Hi Chräcker

      Das sind alles nur Techniken, Werkzeuge. Nimm die, die der Sache dienen. Und laß Dich nicht von "die-sind-böse" oder "die-sind-gut" iritieren. Finde Deinen eigenen Stil.

      Full ACK. Falls das "die-sind-böse" eine Anspielung auf mein Posting sein sollte: So hab ich es nicht gemeint, sondern eher leicht zynisch. Aber dazu ist wirklich alles gesagt meiner Meinung nach. Und die Begründung vo anderer Seite, dass die Suche nicht geht, zieht nicht - wozu gibt's Google? ;)

      Fabian

  3. Hi Pedro,

    es kommt darauf an, was Dir wichtig ist. Wenn Du ein Layout möchtest, das eine Navigation immer im Blick des Surfers hält, dann sind Frames das Richtige. Alle anderen Lösungen, die dieses Ziel ins Visier nehmen, etwa mit CSS oder Javascript haben gravierende Probleme und funktionieren nur in einigen aktuellen Browsern oder sind Javascript-abhängig.

    Den Haken des Frames-Ansatzes kannst Du hier im Forum jeden Tag verfolgen: Zunächst schaut alles ganz einfach aus, dann aber wird deutlich, dass Frames doch nicht so ganz einfach zu verwalten sind. Typische Probleme:

    Wenn Du ein gelungenes Tabellenlayout sehen willst, dann schau Dir mal SelfHTML an *g* Auch heute noch kann man trotz aller Faszination für Positionierungsalternativen mit CSS auch mit Tabellen ein funktionierendes und attraktives Layout bauen.

    CSS solltest Du in jedem Fall einsetzen, egal welchen Lösungsansatz Du verfolgst. Zunächst mal solltest Du alle Formatierungen, soweit es eben geht, in eine zentrale CSS-Datei auslagern. Wirklich jede Zeichen- und Absatzformatierung im Text solltest Du vermeiden und auslagern, wenn es geht auch andere Abstände, Pseudoformate usw. Nicht bleibt im Netz so wie es war, auch kleinere Projekte wachsen und dann erhöht eine zentrale Formatdatei die Wartbarkeit immens.

    Die große Faszination für CSS-Positionierungen hier im Forum teile ich nur zum Teil. Es gibt so viele tolle Möglichkeiten in den CSS2- Spezifikationen, es wäre wirklich eine Erleichterung, wenn man auf dieser Basis Websites entwickeln könnte. Der Pferdefuß: Die Browser unterhalb der 6er-Generation reagieren zum Teil überraschend auf CSS-Anweisungen der neueren Generation, und selbst in den neusten Erzeugnissen von Opera, Mozilla und Microsoft sehen die Seiten eben nicht gleich aus. Es gibt tolle Workarounds für fast alle Probleme, aber diese ausgefuchsten Lösungen machen den größten Vorteil, die Flexibilität und Klarheit des Lösungsansatzes zum Teil wieder zunichte. Aber das ist nur meine Meinung, viele hier denken anders darüber, und einige wissen auch wirklich, wie man den Löffel halten muss....

    Mein Tipp: Überleg erstmal, wie Deine Site in etwa aufgebaut sein sollte, und welche Inhalte Du präsentieren willst. Gibt es viele Grafiken oder geht es eher um Text? Schwebt Dir eine möglichst genaue Positionierung der Elemente vor, oder kann das Ganze luftig und flexibel bleiben? Gibt es feste Elemente auf Deinen Seiten, die der Betrachter immer im Blick haben sollte, oder ist das nicht erforderlich? Wie umfangreich wird Dein Projekt in etwa werden? Wie oft ändern sich die Inhalte?

    Einen Ansatz mit Frames solltest Du wirklich nur ins Auge fassen, wenn es Dir wichtig ist, bestimmte Elemnte wie etwa eine Navigation immer im Stil eines Anwendungsfensters im Blickfeld des Betrachters zu halten.

    Je stärker Du daran gebunden bist, ein bestimmtes Grafiklayout nachzubauen, desto eher würde ich zu Tabellen raten, es kann aber sein, dass die CSS-Gurus mich da widerlegen können.

    Vor allem bei umfangreichen Sites, bei denen sich viel ändert, solltest Du Zeit investieren, Seitentypen zu entwickeln, die Du immer wieder einsetzen kannst, es gibt dafür schöne Beispiele im Netz. Wichtig ist dabei vor allem, möglichst viele Elemente wie Formate, Grafikbeispiele, und Layouts zu standardisieren und in einer übersichtlichen Verzeichnisstruktur abzulegen und zu verwalten.

    Nützlich ist es manchmal auch, wenn man zumindest einen Teil der Elemente serverseitig dynamisch einfügen kann, aber das ist dann auch schon die hohe Schule ;-)

    Viele Grüße
    Mathias Bigge

  4. Hi Pedro,

    Ich blick langsam nicht mehr durch...habe jetzt div. Beiträge im Forum gelesen. Die einen schreiben, Frames seien schlecht (find ich auch) die andern sagen wiederum das mit Tabellen zu lösen sei schlecht, mann soll ein reines CSS Design machen....Irgendwie komm ich einfach nicht weiter....wie soll man eine gute zukunftsorientierte Webstite programmieren, die auf möglichst allen gängigen Browsern / Plattformem funktioniert?

    indem Du eine Technik verwendest, die _Deiner_ Aufgabenstellung angemessen ist.

    Dazu brauchst Du natürlich vorher ... genau, eine Aufgabenstellung. Also eine Erwartungshaltung Deiner künftigen Website bezüglich bestimmter Anforderungen.
    Und von diesen Anforderungen hängt es ab, welche Technik Du dann sinnvollerweise nehmen solltest.

    Sieh es mal so: Gäbe es eine Technik, die alle Vorteile der genannten Techniken in sich vereinen und alle Nachteile vermeiden würde, wieso gäbe es dann noch Diskussionen über deren Einsatz? Also ...

    Viele Grüße
          Michael

    --
    T'Pol: I apologize if I acted inappropriately.
    V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.