Stefan Raab: Klappmenü ohne Javascript möglich?

Hallo

Ich wollte nur mal ganz generell wissen, ob ein Klappmenü (Maus über Link klappt weitere Links aus, Maus weg, Links auch) ohne Javascript realisierbar ist.

Im Prinzip müsste es ja mit Layern und absoluter Positionierung und Visibility möglich sein. Allerdings muss man ja beim Mouseover die Positionierung und Visibility ändern.

Bin gespannt auf eure Antworten.

  1. Hi Stefan Raab,

    Hallo

    Ich wollte nur mal ganz generell wissen, ob ein Klappmenü (Maus über Link klappt weitere Links aus, Maus weg, Links auch) ohne Javascript realisierbar ist.

    Natürlich. Mit CSS.

    Im Prinzip müsste es ja mit Layern und absoluter Positionierung und Visibility möglich sein. Allerdings muss man ja beim Mouseover die Positionierung und Visibility ändern.

    Kein Problem.

    http://www.meyerweb.com/eric/css/edge/menus/demo.html
     link:http://www.csszengarden.com/?cssfile=http://www.photographia.co.uk/artists/redux/zengarden/door_to_my_garden/style.css
     http://css.fractatulum.net/sample/menu2format.htm

    Grüße,
     Elton

    --
              <img src="http://my.opera.com/graphics/promote/opera7.gif" border="0" alt="">
    [Opera ist derzeit um 25% billiger]
    http://www.opera.com/buy/happyhour/
    1. Hallo Orlando,

      Im Prinzip müsste es ja mit Layern und absoluter Positionierung und Visibility möglich sein. Allerdings muss man ja beim Mouseover die Positionierung und Visibility ändern.

      Kein Problem.

      Wie kommst du zu dieser Aussage? Das ist krasse Fehlinformation. Ganz egal, wie man zum IE steht, Tatsache ist auf alle Fälle, dass eben diese puren CSS-Menüs im am meisten verwendeten Browser (60-80%, je nach Statistik), dem IE, eben_nicht_funktionieren.
      Um gleich Missverständnissen vorzubeugen, ich bin nicht unbedingt ein Freund des IE, allerdings verschliesse ich meine Augen nicht vor der Tatsache, dass er der am meisten verwendete Browser ist.

      http://www.meyerweb.com/eric/css/edge/menus/demo.html

      Das klassische Beispiel dafür, wie man an der Masse vorbeientwickelt, selbst, wenn es sich um zukunftsträchtige Technologien handelt.
        link:http://www.csszengarden.com/?cssfile=http://www.photographia.co.uk/artists/redux/zengarden/door_to_my_garden/style.css

      http://css.fractatulum.net/sample/menu2format.htm

      Naja, sowas kriegt auch noch der IE hin, damit ist aber der Horizont auch schon erreicht.

      Gruß

      Kurt

      --
      "Mut ist eine Tugend, doch Angst beweist Vernunft, Bewusstsein und Phantasie. Die Kunst ist es abzuwägen."
      http://faq.united-web.at
      http://elektro-dunzinger.at
      http://shop.elektro-dunzinger.at
      1. hi,

        Kein Problem.
        Wie kommst du zu dieser Aussage? Das ist krasse Fehlinformation.

        nein, ist es nicht.
        es _ist_ mit css möglich, solche menüs zu erstellen.

        Ganz egal, wie man zum IE steht, Tatsache ist auf alle Fälle, dass eben diese puren CSS-Menüs im am meisten verwendeten Browser (60-80%, je nach Statistik), dem IE, eben_nicht_funktionieren.

        das ist ein graviernder nachteil dieses besch...eidenen browsers, aber nicht der technik an sich.

        Das klassische Beispiel dafür, wie man an der Masse vorbeientwickelt, selbst, wenn es sich um zukunftsträchtige Technologien handelt.

        der IE ist das klassische beispiel dafür, wie man an sinnvollen techniken vorbei entwickelt.
        aber stattdessen bringt uns microsoft einfärbbare scrollbars - hoch soll'n sie leben.

        gruss,
        wahsaga

        1. Hallo,

          hi,

          Kein Problem.
          Wie kommst du zu dieser Aussage? Das ist krasse Fehlinformation.
          nein, ist es nicht.
          es _ist_ mit css möglich, solche menüs zu erstellen.

          Richtig, ich muss mich korrigieren. Es ist keine Fehlinformation, sondern höchstens eine Missinformation, bei der der wichtigste Teil fehlt.

          Ganz egal, wie man zum IE steht, Tatsache ist auf alle Fälle, dass eben diese puren CSS-Menüs im am meisten verwendeten Browser (60-80%, je nach Statistik), dem IE, eben_nicht_funktionieren.

          das ist ein graviernder nachteil dieses besch...eidenen browsers, aber nicht der technik an sich.

          Ich habe aber auch mit keinem Wort die Technik in Frage gestellt, im Gegenteil, ich wäre der erste, der es anstatt des JS-Menüs auf meiner Seite einsetzen würde, wenn_es_denn_funktionieren_würde.

          Das klassische Beispiel dafür, wie man an der Masse vorbeientwickelt, selbst, wenn es sich um zukunftsträchtige Technologien handelt.

          der IE ist das klassische beispiel dafür, wie man an sinnvollen techniken vorbei entwickelt.

          Das ändert aber nichts an meiner Aussage...

          aber stattdessen bringt uns microsoft einfärbbare scrollbars - hoch soll'n sie leben.

          Nette Spielerei, aber auch das ändert nichts an den Tatsachen, oder?

          Gruß

          Kurt

          --
          "Mut ist eine Tugend, doch Angst beweist Vernunft, Bewusstsein und Phantasie. Die Kunst ist es abzuwägen."
          http://faq.united-web.at
          http://elektro-dunzinger.at
          http://shop.elektro-dunzinger.at
      2. Hi Kurt,

        Im Prinzip müsste es ja mit Layern und absoluter Positionierung und Visibility möglich sein. Allerdings muss man ja beim Mouseover die Positionierung und Visibility ändern.

        Kein Problem.

        Wie kommst du zu dieser Aussage? Das ist krasse Fehlinformation.

        Ganz im Gegenteil, lies doch bitte die oben zitierte Ausgangsfrage nochmal, speziell, womit sie beginnt. "Stefan" wollte wissen, ob das möglich ist, nichts weiter.

        Ganz egal, wie man zum IE steht, Tatsache ist auf alle Fälle, dass eben diese puren CSS-Menüs im am meisten verwendeten Browser (60-80%, je nach Statistik), dem IE, eben_nicht_funktionieren.

        Korrekt.

        Um gleich Missverständnissen vorzubeugen, ich bin nicht unbedingt ein Freund des IE, allerdings verschliesse ich meine Augen nicht vor der Tatsache, dass er der am meisten verwendete Browser ist.

        Was spricht dagegen, dem M$IE Definitionen zu liefern, die es ihm erlauben, das Menü expandiert darzustellen?

        http://www.meyerweb.com/eric/css/edge/menus/demo.html

        Das klassische Beispiel dafür, wie man an der Masse vorbeientwickelt, selbst, wenn es sich um zukunftsträchtige Technologien handelt.

        Verwechsle bitte eine Demonstration der Fähigkeiten von CSS in guten Browsern nicht mit produktivem Einsatz.

        link:http://www.csszengarden.com/?cssfile=http://www.photographia.co.uk/artists/redux/zengarden/door_to_my_garden/style.css

        http://css.fractatulum.net/sample/menu2format.htm

        Naja, sowas kriegt auch noch der IE hin, damit ist aber der Horizont auch schon erreicht.

        Siehe [pref:t=56837&m=318367] ;-)

        Grüße,
         Roland

        --
                  <img src="http://my.opera.com/graphics/promote/opera7.gif" border="0" alt="">
        [Opera ist derzeit um 25% billiger]
        http://www.opera.com/buy/happyhour/
        1. Hallo Orlando,

          Wie kommst du zu dieser Aussage? Das ist krasse Fehlinformation.

          Ganz im Gegenteil, lies doch bitte die oben zitierte Ausgangsfrage nochmal, speziell, womit sie beginnt. "Stefan" wollte wissen, ob das möglich ist, nichts weiter.

          Naja, mit Scheuklappen angesehen, hast du wohl recht, Ich impliziere aber in eine solche Frage auch zumindest die Hoffnung, sowas möge in zumindest den am weitesten verbreiteten Brausen funktionieren. Du hingegen hättest Ihn in eine Falle gelockt, die zumindest Ärger über die vertane Zeit ausgelöst hätte.

          Um gleich Missverständnissen vorzubeugen, ich bin nicht unbedingt ein Freund des IE, allerdings verschliesse ich meine Augen nicht vor der Tatsache, dass er der am meisten verwendete Browser ist.

          Was spricht dagegen, dem M$IE Definitionen zu liefern, die es ihm erlauben, das Menü expandiert darzustellen?

          Mit voller Funktionalität? Verbergen und anzeigen, je nach Mausposition? Mit Untermenüs? Das scheitert alleine schon daran, daß der IE hover nur für das a-Element kennt, obwohl es vom W3C für wesentlich mehr vorgesehen ist.
          Solltest du tatsächlich über eine funktionierende Lösung verfügen, so nehme ich alles zurück und verneige mich vor dir. Als zweites schmeiss ich sofort mein JS-Menü aus der FAQ raus und erwähne dich als Initiator auf meiner Seite. ;-)

          Ach so, mir schwant da etwas... mit expandiert meinst du wohl, alle Links auf einmal darzustellen...
          Naja, imho spricht einfach das dagegen, daß ich mein Design für den am meisten verwendeten Browser entwickle und dann versuche, dies auch in den meisten anderen Randgruppenbrowsern ordentlich darzustellen.
          Ich halte es nicht für richtig, aus einer Überzeugung heraus für Minderheiten zu arbeiten, und dabei in Kauf zu nehmen, dass die Site beim Gros der Masse durchfällt.

          Das klassische Beispiel dafür, wie man an der Masse vorbeientwickelt, selbst, wenn es sich um zukunftsträchtige Technologien handelt.

          Verwechsle bitte eine Demonstration der Fähigkeiten von CSS in guten Browsern nicht mit produktivem Einsatz.

          Nein, ich verwechsle das nicht, allerdings erwarte ich auch, daß du auf solch schwerwiegende Stolpersteine hinweist, bevor du einen Newbie in dieses pikante Feld reinlässt.

          http://css.fractatulum.net/sample/menu2format.htm

          Naja, sowas kriegt auch noch der IE hin, damit ist aber der Horizont auch schon erreicht.

          Siehe [pref:t=56837&m=318367] ;-)

          Gut, da kann ich dir nicht guten Gewissens widersprechen... ;-)

          Gruß

          Kurt

          --
          "Mut ist eine Tugend, doch Angst beweist Vernunft, Bewusstsein und Phantasie. Die Kunst ist es abzuwägen."
          http://faq.united-web.at
          http://elektro-dunzinger.at
          http://shop.elektro-dunzinger.at
          1. hi,

            Mit voller Funktionalität? Verbergen und anzeigen, je nach Mausposition? Mit Untermenüs? Das scheitert alleine schon daran, daß der IE hover nur für das a-Element kennt, obwohl es vom W3C für wesentlich mehr vorgesehen ist.

            deshalb kann man ja trotzdem zunächst mal das menü mit CSS aufbauen, so dass es in mozilla und opera funktioniert.
            anschliessendkann man für den IE noch ein wenig javascript hinzufügen (browserweiche o.ä.), dass die fehlende unterstützung von :hover kompensiert.

            btw: was machst du mit deinem menü, wenn der browser kein JS unterstützt/aktiviert hat? ich nehme mal an, als nicht komplett unfähiger mensch wirst du dann dem surfer nicht etwa gar kein menü anbieten, sondern dein menü im komplett aufgeklappten zustand oder ein alternatives.
            du nimmst also in kauf, dass der besucher ohne JS ein weniger "schönes" menü ohne dynamik geliefert bekommt.
            ausgehend von der weit verbreiteten auffassung "kein JS - selber schuld" (mir ist klar, dass diese so keinen bestand hat), sehe ich hier keinen grossen unterschied zu "kein ausreichend CSS-fähiger browser -selber schuld" ;-)

            Ich halte es nicht für richtig, aus einer Überzeugung heraus für Minderheiten zu arbeiten, und dabei in Kauf zu nehmen, dass die Site beim Gros der Masse durchfällt.

            ich halte es nicht für richtig, auf den einsatz sinnvoller und einfacher techniken zu verzichten, nur weil "die mehrheit" eine herde von schafen ist, die nicht willens oder in der lage sind, sich einen fähigeren browser zu besorgen.
            und so lange wir immer nur versuchen, es der mehrheit recht zu machen, wird auch die wandlung der marktanteile im browsermarkt lange auf sich warten lassen, oder die nötige verbesserung der technik des IE, da der druck auf microsoft einfach nicht ausreichend gross wird.

            gruss,
            wahsaga

            1. Hallo,

              hi,

              Mit voller Funktionalität? Verbergen und anzeigen, je nach Mausposition? Mit Untermenüs? Das scheitert alleine schon daran, daß der IE hover nur für das a-Element kennt, obwohl es vom W3C für wesentlich mehr vorgesehen ist.
              deshalb kann man ja trotzdem zunächst mal das menü mit CSS aufbauen, so dass es in mozilla und opera funktioniert.
              anschliessendkann man für den IE noch ein wenig javascript hinzufügen (browserweiche o.ä.), dass die fehlende unterstützung von :hover kompensiert.

              Nun ja, aber wozu dann die Doppelarbeit, wenn mir Js sowieso nicht erspart bleibt?
              Das Menü war mein bisher ehrgeizigstes Projekt auf diesem Sektor und ich habe mein Herzblut dareingelegt, um es Browserübergreifend zum funktionieren zu bringen. Nun, da es in Mozilla, Opera und IE funktioniert, soll ich es z.T. durch eine Variante ersetzen, von der ich mit Sicherheit weiss, daß sie in dem am häufigsten verwendeten Browser nicht funktioniert und ich trotzdem wieder auf das JS-Menü zurückgreifen müsste?

              btw: was machst du mit deinem menü, wenn der browser kein JS unterstützt/aktiviert hat? ich nehme mal an, als nicht komplett unfähiger mensch wirst du dann dem surfer nicht etwa gar kein menü anbieten, sondern dein menü im komplett aufgeklappten zustand oder ein alternatives.

              Nein, meine Besucher bekommen alle dasselbe Menü. Wenn JS deaktiviert ist, muss er halt dann die Sitemap oder die nicht mehr aktuelle Vorgängerversion benutzen. Ich halte absolut nichts davon, wegen der Unfähigkeit eines Clienten zwei volle Versionen anzubieten.
              Der Link zur Seite geht zur index.html, auf der dann per JS zur index.php weitergeleitet wird. Sollte jemand Js deaktiviert oder einen CSS/DOM-kritischen Browser(Ns 4.*) haben, so bleibt er in der index.html hängen und findet dort einen Link zur Sitemap. Grundsätzlich wäre das Script auch fähig, den NS 4.* zu bedienen, allerdings war mir der Aufwand der zusätzlichen Gestaltung mit Layern für den NS4.* zu hoch, deshalb wird auch er abgefangen.

              du nimmst also in kauf, dass der besucher ohne JS ein weniger "schönes" menü ohne dynamik geliefert bekommt.

              Weniger "schön" würde ich nicht sagen, die Sitemap ist ebenfalls sehr aufwendig gestaltet, ohne Dynamik, ja. ;-)

              ausgehend von der weit verbreiteten auffassung "kein JS - selber schuld" (mir ist klar, dass diese so keinen bestand hat), sehe ich hier keinen grossen unterschied zu "kein ausreichend CSS-fähiger browser -selber schuld" ;-)

              Wobei du imho einen wichtigen Punkt übersiehst: Der IE besitzt eine Klientel von 60-80% Nutzern, während JS zwischen 2-8% der User deaktiviert haben. ;-)

              Ich halte es nicht für richtig, aus einer Überzeugung heraus für Minderheiten zu arbeiten, und dabei in Kauf zu nehmen, dass die Site beim Gros der Masse durchfällt.

              ich halte es nicht für richtig, auf den einsatz sinnvoller und einfacher techniken zu verzichten, nur weil "die mehrheit" eine herde von schafen ist, die nicht willens oder in der lage sind, sich einen fähigeren browser zu besorgen.

              Tatsache ist aber immer noch, daß Webseiten in den seltensten Fällen aus Selbstzweck gebaut werden, sondern, um eine bestimmte Klientel zu erreichen. Ich vertraue auf meiner Seite deshalb auch so stark auf JS, weil kaum jemand eine Hilfeseite zu JS aufsuchen wird, wenn er JS aus Sicherheitsgründen deaktiviert hat. ;-)
              Meine Firmenseite hat JS sowieso nur zur Unterstützung eingesetzt, da kann ich es mir auch nicht leisten, auf potentielle Kunden zu verzichten.

              und so lange wir immer nur versuchen, es der mehrheit recht zu machen, wird auch die wandlung der marktanteile im browsermarkt lange auf sich warten lassen, oder die nötige verbesserung der technik des IE, da der druck auf microsoft einfach nicht ausreichend gross wird.

              Nein, so sehe ich das nicht, der Markt wird rascher, als du denkst, reagieren, wenn die alternativen Browserhersteller den derzeitigen Vorsprung zumindest halten oder gar ausbauen.

              Gruß

              Kurt

              --
              "Mut ist eine Tugend, doch Angst beweist Vernunft, Bewusstsein und Phantasie. Die Kunst ist es abzuwägen."
              http://faq.united-web.at
              http://elektro-dunzinger.at
              http://shop.elektro-dunzinger.at