lemon: Firefox: div-Element verschwindet unter iframe

Hallo Ihr,
ich bin neu hier in diesem Forum, Mediengestalter und arbeite seit einigen Jahren als Webdesigner in einer mittelständischen Software-Firma.

Ich hoffe ich kann hier mit meinen beruflichen Erfahrungen dem Einen oder Anderen eine Hilfe sein. :)

Heute habe ich aber zuerst ein Mal selbst eine Frage: In einem Webauftritt ist ein iframe definiert. Oberhalb davon liegt ein Javascript-Pulldown-Menü, welches beim Überfahren mit der Maus seine Unterebenen über diesen iframe aufklappen soll. Diese Untermenüs werden als div-Element eingeblendet. Soweit die Theorie. Im IE funktioniert das auch wunderbar. Nur im Firefox gleiten die Menüs unter den iframe. Ich hoffe das halbwegs verständlich geschildert zu haben. :)

  1. hi,

    In einem Webauftritt ist ein iframe definiert. Oberhalb davon liegt ein Javascript-Pulldown-Menü, welches beim Überfahren mit der Maus seine Unterebenen über diesen iframe aufklappen soll. Diese Untermenüs werden als div-Element eingeblendet. Soweit die Theorie. Im IE funktioniert das auch wunderbar. Nur im Firefox gleiten die Menüs unter den iframe.

    ein iframe ist ein "loch" in einer seite, in dem ein vollkommen unabhängiges dokument angezeigt wird.

    deshalb gibt es auch kein "vor" oder "hinter" diesem loch, sondern an dieser stelle ist das hauptdokument schlicht und einfach nicht existent - und deshalb ist ein in ihm liegender div an dieser stelle auch nicht zu sehen.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo wahsaga.

      deshalb gibt es auch kein "vor" oder "hinter" diesem loch, sondern an dieser stelle ist das hauptdokument schlicht und einfach nicht existent - und deshalb ist ein in ihm liegender div an dieser stelle auch nicht zu sehen.

      Dass der IE dies dennoch zustande bringt, verwundert nicht weiter.

      Aber auch die Geckos (!) zeigen ein solches div _über_ dem Iframe.

      Gruß, Ashura

      --
      Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
      Try it: Become an Opera Lover in 30 days
      1. Aloha,

        deshalb gibt es auch kein "vor" oder "hinter" diesem loch, sondern an dieser stelle ist das hauptdokument schlicht und einfach nicht existent - und deshalb ist ein in ihm liegender div an dieser stelle auch nicht zu sehen.

        Dass der IE dies dennoch zustande bringt, verwundert nicht weiter.

        In diesem Zusammenhang wäre es überhaupt mal spannend, welche "kritischen" Elemente von welchen Browsern vorrangig behandelt werden:
        Also selectboxen (die überdecken ja auch divs), Flashs (setzen sich immer in den Vordergrund) oder eben besagte Iframe-Löcher.

        Was passiert mit einem Flash-Film, der über einem Iframe positioniert wird? Oder einer Selectbox? Oder...

        1. Hallo.

          In diesem Zusammenhang wäre es überhaupt mal spannend, welche "kritischen" Elemente von welchen Browsern vorrangig behandelt werden:
          Also selectboxen (die überdecken ja auch divs), Flashs (setzen sich immer in den Vordergrund) oder eben besagte Iframe-Löcher.

          Was passiert mit einem Flash-Film, der über einem Iframe positioniert wird? Oder einer Selectbox? Oder...

          Probier es doch aus und veröffentliche dein Ergebnis innerhalb dieses Threads.
          MfG, at

      2. hi,

        Aber auch die Geckos (!) zeigen ein solches div _über_ dem Iframe.

        sicher?

        dass sie das nicht tun, ist doch gerade das problem des OP, oder?

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hallo wahsaga.

          sicher?

          Absolut: http://dq-music.de

          dass sie das nicht tun, ist doch gerade das problem des OP, oder?

          Ich weiß nur vom Opera, dass er die divs unter die Iframes expandiert.

          Gruß, Ashura

          --
          Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
          Try it: Become an Opera Lover in 30 days
          Meine Browser: Opera 7.54 | Firefox 1.0.2 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
    2. Hi,

      deshalb gibt es auch kein "vor" oder "hinter" diesem loch, sondern an dieser stelle ist das hauptdokument schlicht und einfach nicht existent - und deshalb ist ein in ihm liegender div an dieser stelle auch nicht zu sehen.

      Nö.

      <div style="position:absolute; background:red; width:50px; height:50px; z-index:10;">bla</div>
      <iframe src="http://de.selfhtml.org/" width="300" height="300" style="background:yellow; position:absolute;"></iframe>

      zeigt das div in Geckos vor dem iframe an. Im IE auch.
      Der einzige meiner Test-Browser, der hier versagt, ist der Opera - da erscheint das Rot des div nur über dem border des iframe ...
      (Safari/iCab/Konqueror hab ich keine hier zum Testen)

      Entscheidend ist aber, daß das div im stacking auch über dem iframe liegt - also z.B. höheren z-index hat oder im Dokument nach dem iframe definiert ist.

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. hi,

        Nö.

        gut, mag sein.

        betrachte ich aber nach wie vor als unzulässige aufweichung des konzeptes von (i)frames.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hi,

          betrachte ich aber nach wie vor als unzulässige aufweichung des konzeptes von (i)frames.

          Inwiefern?

          Der Inhalt des (i)frames wird nur innerhalb des (i)frames dargestellt - der kann nicht über dessen Grenzen raus.

          Auch der Inhalt des Fensters, in dem irgendwo tief drinne ein iframe sitzt, ist auf das Rechteck dieses Fensters beschränkt.

          Warum sollte sich ein iframe bezüglich des stackings anders verhalten als z.B. ein p?

          cu,
          Andreas

          --
          Warum nennt sich Andreas hier MudGuard?
          Schreinerei Waechter
          Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. Hi,

    Heute habe ich aber zuerst ein Mal selbst eine Frage: In einem Webauftritt ist ein iframe definiert. Oberhalb davon liegt ein Javascript-Pulldown-Menü, welches beim Überfahren mit der Maus seine Unterebenen über diesen iframe aufklappen soll. Diese Untermenüs werden als div-Element eingeblendet. Soweit die Theorie. Im IE funktioniert das auch wunderbar. Nur im Firefox gleiten die Menüs unter den iframe. Ich hoffe das halbwegs verständlich geschildert zu haben. :)

    Wie sind die z-index-Werte der Untermenüs und des iframes?
    Befinden sie sich im gleichen stacking-context?
    Falls identisch: in welcher Reihenfolge liegen die Elemente im Dokumentenbaum?

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hallo,
      entschuldigung dass ich erst jetzt reagiere, ich dachte man bekäme eine Mail wenn man das Häkchen setzt...

      Wie sind die z-index-Werte der Untermenüs und des iframes?
      Befinden sie sich im gleichen stacking-context?
      Falls identisch: in welcher Reihenfolge liegen die Elemente im Dokumentenbaum?

      Die MEnüs haben z-index 99 und der iframe hat die 1. Sie stehen nicht direkt in einem Stacking-Kontext zu einander, also nicht noch mal gemeinsam in ein anderes Element eingebettet. Elternelemnte sind verschiedenste div-Elemente die "irgendwo" im Qulltext liegen, das Javascript für das Menü wird in der Seite zuerst definiert. Die Seiten werden dynamisch generiert, um die Reihenfolge generell zu ändern müssten wir da einiges umstellen. Wenn es aber an der Reihenfiolge liegt müssen wir in den sauren Apfel beißen... :)

      Gibt es zwischen den Browsern doch derartige Unterschiede beim Stacking?

      Ich bin seit einiger Zeit dabei, mich vom Tabellen-Layout zu verabschieden und auf div-Elemente und CSS-Layout umzusteigen. Da kommt man manchmal an Problemen vorbei die man vorher nicht so kannte.

      1. hi,

        Ich bin seit einiger Zeit dabei, mich vom Tabellen-Layout zu verabschieden und auf div-Elemente und CSS-Layout umzusteigen.

        wenn du dabei aber ohne trifftigen grund auf iframes ausweichst, stellt das m.E. kaum eine verbesserung dar; im zweifelsfalle sogar das gegenteil.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. wenn du dabei aber ohne trifftigen grund auf iframes ausweichst, stellt das m.E. kaum eine verbesserung dar; im zweifelsfalle sogar das gegenteil.

          Du vergleichst im falschen Zusammenhang. Nach meiner Meinung sind Tabellen nicht zum Layouten da, darum arbeite ich mit positionierten Elementen. Dabei externe Inhalte in iframes zu packen, hielt ich bisher nicht für verwerflich. Solltest Du eine bessere Lösung haben um "fremde Inhalte" (ganze Websites zum Beispiel) in einem bestehenden Auftritt einzubinden dann bin ich gern bereit zu lernen. :)

          Herzlich, LemOn

          1. hi,

            Du vergleichst im falschen Zusammenhang.

            nicht im "falschen", sondern in einem bisher von dir nicht erwähnten.

            Dabei externe Inhalte in iframes zu packen, hielt ich bisher nicht für verwerflich.

            nun ja, wenn die explizite erlaubnis vorliegt ...

            was mir als besucher das bringen soll, bzw. welchen vorteil ich davon gegenüber einem direkten link auf die externe seite haben soll (der die nachteile aufwiegen würde), ist mir allerdings noch nicht klar.

            Solltest Du eine bessere Lösung haben um "fremde Inhalte" (ganze Websites zum Beispiel) in einem bestehenden Auftritt einzubinden dann bin ich gern bereit zu lernen. :)

            da müsste m.E. erst mal die "notwendigkeit" zur einbindung externer inhalte geklärt werden.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. :) Das kommt davon wenn man voreilig alles verurteilt was man selbst nicht für richtig hält, IMHO auch eine Art von Extremismus.

              So. Zum Ansinnen warum man externe Inhalte in eine Seite integriert:

              Nehmen wir mal an, wir bauen ein Intranet und die Nutzer sollen verschiedene Angebote oder Dienste wie Auskünfte, Fahrpläne etc. innerhalb ihrer 'gewohnten' umgebung präsentiert bekommen und auch benutzen können. Wie würdest Du das anders umsetzen?

              Herzlich, LemOn

              1. hi,

                Das kommt davon wenn man voreilig alles verurteilt was man selbst nicht für richtig hält,

                nein, das kommt davon wenn man </faq/#Q-07d> nicht umsetzt.

                Nehmen wir mal an, wir bauen ein Intranet und die Nutzer sollen verschiedene Angebote oder Dienste wie Auskünfte, Fahrpläne etc. innerhalb ihrer 'gewohnten' umgebung präsentiert bekommen und auch benutzen können. Wie würdest Du das anders umsetzen?

                entweder wirklich integrieren, oder als vollständige externe seiten im ganzen/einem neuen fenster öffnen lassen.

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
                1. entweder wirklich integrieren, oder als vollständige externe seiten im ganzen/einem neuen fenster öffnen lassen.

                  Geht beides leider nicht. Und, was verstehst Du unter "wirklich integrieren"?

                  1. hi,

                    Geht beides leider nicht.

                    und das kannst du beurteilen,

                    Und, was verstehst Du unter "wirklich integrieren"?

                    bevor du weißt, was ich mit "wirklich integrieren" meine?

                    damit meine ich, die daten so vorzuhalten, dass man sie wirklich _in_ den quelltext der internetseite integrieren kann.
                    sei es, in dem man sie sich vom anbieter per XML-schnittstelle oder sonstwie zur verfügung stellen lässt; sei es, dass man sie per script erst per HTTP abruft, parst und in der eigenen seite ausgibt; oder wie auch immer.

                    und das argument der "gewohnten" intranet-umgebung kann ich nicht nachvollziehen; die meisten benutzer dürften wissen, wie seiten im www aussehen, und damit auch umgehen können, wenn ihnen keine interne seite "übergestülpt" wurde.

                    gruß,
                    wahsaga

                    --
                    /voodoo.css:
                    #GeorgeWBush { position:absolute; bottom:-6ft; }
                    1. Also, ich weiß nicht was Du so machst, aber ich arbeite für Kunden und da gibt es klare Vorgaben - sowohl von finanzieller als auch von technischer Seite. Einer Umsetzung mit iframes ist nichts schwerwiegendes entgegenzuhalten, außer vielleicht ein paar religiöse Plänkeleien.

                      Die Möglichkeit dass man zu bahn.de, telefonbuch.de und weiteren Dienstleistern eine XML-Schnittstelle bekommt, halte ich sowohl von finanzieller Seite als auch vom Programmieraufwand für unsinnig. Wir müssten deren Applikationen für dieses Intranet nachbilden - was für ein Quatsch wenn man sie einfach per iframes einbinden kann.

                      Die zweite Möglichkeit, die Seiten in einem weiteren Fenster zu öffnen ist vom Kunden nicht gewollt.

                      Was hast Du eigentlich gegen iframes? Schlechte Erfahrungen aus der Kindheit? ;)