olé: was spricht gegen leere divs fürs layout?

hi

da nun die zeiten vorrüber sein sollten in denen tables für layouts missbruachen mussten obwohl diese ja rein logisch garnicht dafür da sind, wollte ich fragen wie logisch denn die verwendung von leeren divs für irgentwelche layout objekte ist.

zumindest css zen garden benutzt offenkundig div.extraDiv1.

aber... ist das nicht auche eine zweckentfremdung? hier geht es ja nicht darum den inhalt der seite aufzuteilen sondern nur darum etwas, das an sich garkein inhalt hat als layoutobjekt zu benutzen

was meint ihr? gib es dazu eine w3c empfehlung oder sowas?

  1. Hi,

    da nun die zeiten vorrüber sein sollten in denen tables für layouts missbruachen mussten obwohl diese ja rein logisch garnicht dafür da sind,

    sind sie nicht. Tabellen sind zur Strukturierung tabellarischer Daten da. Das hat - genau wie alles(!) andere in HTML - nicht das geringste mit Layout zu tun.

    wollte ich fragen wie logisch denn die verwendung von leeren divs für irgentwelche layout objekte ist.

    Das ist absolut identisch dazu, Tabellen für Layoutzwecke zu missbrauchen. Es existiert kein Unterschied.

    zumindest css zen garden benutzt offenkundig div.extraDiv1.

    CSS Zen-Garden ist exzessiv im Umgang mit HTML-Elementen. Was Du dort siehst hat Studiencharakter, nicht Vorbildcharakter.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      da nun die zeiten vorrüber sein sollten in denen tables für layouts missbruachen mussten obwohl diese ja rein logisch garnicht dafür da sind,

      sind sie nicht. Tabellen sind zur Strukturierung tabellarischer Daten da. [..]

      Genau. Und a-Tags für Hyperlinks, nicht etwa dazu um Worte zu <unterstreichen> ;-)

      Viele Grüße,
         Ernst

    2. die frage ist ja zb folgende:

      mein design sieht abgerundete kanten in einer ebene vor. da diese mit der aktuellen css version nochnicht ohne weiteres umsetzbar sind schreibe ich meine div zb. so

      <div>
      <div id="ecke links oben"></div>
      <div id="ecke rechts oben"></div>
      <div id="ecke rechts unten"></div>
      <div id="ecke links unten"></div>
      <h1>Dashier ist ein toller Kasten</h1>
      <p>
      er hat vier abgerundete ecken zu allen seiten die über vier ansonsten absolut unnsinnige divisions erzeigt werden. fragt sich nur wie man sowas ohne dieses geschummel hinbekommt
      </p>
      </div>

      1. Hi,

        mein design sieht abgerundete kanten in einer ebene vor. da diese mit der aktuellen css version nochnicht ohne weiteres umsetzbar sind schreibe ich meine div zb. so

        ja, und damit falsch. Schreibe Deinen HTML-Code zu exkat(!) 100% unabhängig von jeder eventuell gewünschten Darstellung. Damit ist es unmöglich, dass ein Element die Bezeichnung "ecke links oben" bekommt (was übrigens als ID zudem ungültig ist).

        fragt sich nur wie man sowas ohne dieses geschummel hinbekommt

        Erstelle sinnbehaftete Modulkonzepte.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. ja, und damit falsch. Schreibe Deinen HTML-Code zu exkat(!) 100% unabhängig von jeder eventuell gewünschten Darstellung. Damit ist es unmöglich, dass ein Element die Bezeichnung "ecke links oben" bekommt (was übrigens als ID zudem ungültig ist).

          war ja nur ein beispiel, nicht so genau nehmen...

          1. Hi,

            ja, und damit falsch. Schreibe Deinen HTML-Code zu exkat(!) 100% unabhängig von jeder eventuell gewünschten Darstellung. Damit ist es unmöglich, dass ein Element die Bezeichnung "ecke links oben" bekommt (was übrigens als ID zudem ungültig ist).
            war ja nur ein beispiel, nicht so genau nehmen...

            ob Beispiel oder nicht spielt für obige Aussage eigentlich keine Rolle. Betrachte den mittleren Satz als allgemeingültig.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
      2. Hello out there!

        mein design sieht abgerundete kanten in einer ebene vor. da diese mit der aktuellen css version nochnicht ohne weiteres umsetzbar

        Im Gegenteil; natürlich ist es das: Abgerundete Ecken und Schatten

        Dass IEs das nicht können, liegt nicht an der CSS-Spec, sondern daran, das IEs diese nur äußerst mangelhaft umsetzen.

        See ya up the road,
        Gunnar

        --
        „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
        1. Dass IEs das nicht können, liegt nicht an der CSS-Spec, sondern daran, das IEs diese nur äußerst mangelhaft umsetzen.

          also ist die Methode die ich gerade gepostet hab auch weiterhin die einzig relevante, oder?

          1. Hi,

            Dass IEs das nicht können, liegt nicht an der CSS-Spec, sondern daran, das IEs diese nur äußerst mangelhaft umsetzen.
            also ist die Methode die ich gerade gepostet hab auch weiterhin die einzig relevante, oder?

            wie schließt Du das aus Gunnars Aussage?

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. steht da: so hübsch diese methode auch sein mag: sämtliche ie User werden sie hässlich finden (obwohl die ja Hässlichkeit gewohnt sein müssten^^)

            2. steht da: so Hübsch diese methode auch sein mag: sämtliche ie user werden sie hässlich finden (obwohl die ja Hässlichkeit gewohnt sein müssten^^)

  2. zumindest css zen garden benutzt offenkundig div.extraDiv1.
    aber... ist das nicht auche eine zweckentfremdung?

    Streng genommen ja.

    gib es dazu eine w3c empfehlung oder sowas?

    Natürlich: CSS 2.1: Generated Content, CSS3: Multiple background-images, CSS3: border-image, CSS3: Advanced Layout Module beispielsweise.

    Die vielen überflüssigen HTML-Elemente im CSS Zen Garden sind ein Tribut an noch nicht ausreichend entwickelte Browser.

    Roland

    1. Hallo,

      Die vielen überflüssigen HTML-Elemente im CSS Zen Garden sind ein Tribut an noch nicht ausreichend entwickelte Browser.

      Einige Browser, alle Browser, oder nicht ausreichend entwickeltes CSS?

      Wohl auch ein Tribut an ein nicht ausreichend mächtiges CSS, um die
      Grundidee der Trennung von "Inhalt" und "Layout" noch zu retten.

      Grüsse

      Cyx23

      1. Hello out there!

        oder nicht ausreichend entwickeltes CSS?

        Auch das. Deshalb wird das ja weiterentwickelt.

        Wohl auch ein Tribut an ein nicht ausreichend mächtiges CSS, um die
        Grundidee der Trennung von "Inhalt" und "Layout" noch zu retten.

        CSS3 wird da wohl Möglichkeiten eröffnen, von denen du noch nichteinmal zu träumen wagst. Trennung von "Inhalt" und "Layout" ist dann überhaupt kein Problem mehr.

        See ya up the road,
        Gunnar

        --
        „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
        1. Hi,

          CSS3 wird da wohl Möglichkeiten eröffnen, von denen du noch nichteinmal zu träumen wagst.

          CSS3 wird Möglichkeiten eröffnen, von denen die IE-Entwickler[1] höchstens träumen, es aber für eine laaange Zeit nicht in den Arbeitsalltag einfließen lassen ...

          Cheatah

          [1] Bzw. wahrscheinlich eher die Entscheider.

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
        2. Hallo,

          CSS3 wird da wohl Möglichkeiten eröffnen, von denen du noch nichteinmal zu träumen wagst. Trennung von "Inhalt" und "Layout" ist dann überhaupt kein Problem mehr.

          Das bezweifele ich, und wäre froh wenn mal ein paar Dinge möglich wären
          die wohl nicht nur mir schon länger fehlen. Aber das können wir ja in
          ein paar Jahren nochmal aufgreifen.

          Grüsse

          Cyx23

          1. Hello out there!

            CSS3 wird da wohl Möglichkeiten eröffnen [...]

            Das bezweifele ich, und wäre froh wenn mal ein paar Dinge möglich wären die wohl nicht nur mir schon länger fehlen.

            Als da wäre?

            See ya up the road,
            Gunnar

            --
            „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
      2. Die vielen überflüssigen HTML-Elemente im CSS Zen Garden sind ein Tribut an noch nicht ausreichend entwickelte Browser.

        Einige Browser, alle Browser, oder nicht ausreichend entwickeltes CSS?

        Alle Browser. WebKit hat bei CSS3-Goodies die Nase vorn, Opera hat einiges angekündigt, bei Gecko weiß ich es nicht und stelle Hoffnung über Erfahrung. Der Microsoft-Dekubitus interessiert mich nicht.

        Wohl auch ein Tribut an ein nicht ausreichend mächtiges CSS, um die
        Grundidee der Trennung von "Inhalt" und "Layout" noch zu retten.

        Keineswegs. CSS ist bereits sehr mächtig, wenn man es sich leisten kann, alte Zöpfe abzuschneiden. Was du als „funzt nicht“ abstempelst, bezeichne ich als Graceful Degradation, denn nichts funktioniert immer und überall gleich gut. XSLT in Form von CSS und wird es allerdings nie geben, wenn du darauf hinauswillst.

        Roland

        1. Hallo,

          Der Microsoft-Dekubitus interessiert mich nicht.

          Nicht immer eine Lösung.

          Was du als „funzt nicht“ abstempelst, bezeichne ich als Graceful Degradation, denn nichts funktioniert immer und überall gleich gut.

          Meinst du die Trennung von Form und Inhalt?
          Da würde ich gerne Objekten die zugehörigen (Layout-)Eigenschaften
          geben, ohne neue Objekte einflicken zu müssen.

          Schon einfache Dinge wie Abstand und Rahmen erfordern u.U. einen
          zusätzlichen Container, komplexere Beziehungen zwischen Teilen einer
          Seite wollte ich zunächst gar nicht anführen.

          Grüsse

          Cyx23

          1. Hello out there!

            Schon einfache Dinge wie Abstand und Rahmen erfordern u.U. einen zusätzlichen Container

            ?? Beispiel?

            See ya up the road,
            Gunnar

            --
            „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
          2. Der Microsoft-Dekubitus interessiert mich nicht.

            Nicht immer eine Lösung.

            Stimmt, alte Wunden heilen langsam.

            Was du als „funzt nicht“ abstempelst, bezeichne ich als Graceful Degradation, denn nichts funktioniert immer und überall gleich gut.

            Meinst du die Trennung von Form und Inhalt?

            Nein, die Form abhängig von der des Browsers. Wie weit soll die Unterstützung altertümlicher Versionen gehen? Selbst für den IE lässt sich etwas basteln, wenn man nur die aktuelle Ausgabe berücksichtigt.

            Da würde ich gerne Objekten die zugehörigen (Layout-)Eigenschaften geben, ohne neue Objekte einflicken zu müssen.

            Reichen dir Selektoren und Klassen nicht aus?

            Schon einfache Dinge wie Abstand und Rahmen erfordern u.U. einen zusätzlichen Container,

            Das schon, aber ich sehe das nicht als Problem an. Will ich mehrere Elemente gruppieren, tue ich das eben mittels eines Containers. Naserümpfen an dieser Stelle sehe ich als Fundamentalismus an. Gut, divs nur für irgendwelche Grafiken sind meist überflüssig, aber mit Inhalt und als Angriffspunkt für Selektoren sicher kein Missbrauch.

            komplexere Beziehungen zwischen Teilen einer Seite wollte ich zunächst gar nicht anführen.

            Die sind doch angesichts des Ausgabemediums gar nicht in ihrer Vollständigkeit abbildbar, wobei man mit Media Queries sicher einiges bewerkstelligen kann. An welches Beispiel hast du hierbei gedacht?

            Roland

  3. Hi there,

    was meint ihr? gib es dazu eine w3c empfehlung oder sowas?

    Ich denke, der Einsatz eines Tags sollte durch seine Verwendungszweck bestimmt werden, insoferne ist eine solche Art der Auszeichnung eine logische.

    Ein div, das als Abstandshalter oder ähnliches verwendet wird, ist für gar nichts gut, schliesslich lassen sich die in Abstand gehaltenen
    Elemente ja auch anders positionieren.

    Auf der anderen Seite sollte man kein Dogma daraus machen. Wenn jemand seine Seite unbedingt mit Tabellen machen will, wayne interessierts? Vor allem verwenden noch viele CMS-Systeme Tabellenkonstruktionen, da fällt auch das Argument der Wartbarkeit oder der maschinellen Auslesbarkeit weg. In sich logisch ist das nicht unbedingt, aber dem Besucher ist es ohnehin egal und bis die Browser nur mehr semantisches Markup anzeigen genießt Du wahrscheinlich schon zitternd Deine karge Rente...

    1. Hello out there!

      Tabellenkonstruktionen [...] aber dem Besucher ist es ohnehin egal

      Nope. Einem Blinden nicht. Einem Besucher mit einem mobilen Endgerät auch nicht.

      See ya up the road,
      Gunnar

      --
      „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
      1. Hi there,

        Nope. Einem Blinden nicht. Einem Besucher mit einem mobilen Endgerät auch nicht.

        D'accord, was den Blinden betrifft. (Wobei das Problem in dem Fall die mangelnde Auszeichnung und nicht die Tabelle ist.) Was mobile Endgeräte betrifft, muss ich Dir leider heftig widersprechen. Symbianhandys mit oder ohne Operabrowser lieben Tabellenkonstruktionen, weil sie das CSS meist nicht richtig verstehen. Ein gutes Beispiel ist selfhtml selbst. Ich hab selfhtml auf einer Speicherkarte zum Nachsehen, das klappt hervorragend. Die Version selfhtml mit CSS-Konstruktion, die irgendwo im Netz herumschwirrt, kann dagegen nicht angezeigt werden (auf einem A1000, P900, P910i und P990).

        Aber ich will hier nicht irgendwelchen Tabellenkonstruktionen das Wort reden, ich meine nur, man sollte das nicht so dogmatisch sehen...

        1. abgesehen davon ist es trotzdem sinnvoll inhalt und Design zu trennen. es hat einfach zuviele vorteile.

          1. Hi there,

            abgesehen davon ist es trotzdem sinnvoll inhalt und Design zu trennen. es hat einfach zuviele vorteile.

            Dagegen sagt ja niemand was. Nur kommt der Inhalt, zumindest bei 'professionellen' Seiten, mittlerweile meist aus einem Contentmanagement-System, und da ist Inhalt und Design ohnehin von vorneherein getrennt, liegt sozusagen in der Natur der Sache...