Noel: iframe widersetzt sich height="" und CSS-Zuweisung selbigen Wert

Hallo!

Ich habe ein merkwürdiges Problem mit einem iframe. Ich weise dem iframe über CSS die Eigenschaft 'height:100%' zu und schau regelmäßig zu wie er das iframe exakt 150px hoch macht und keinen Pixel größer, selbst wenn der Inhalt (referenzierte HTML mit Text) viel länger ist. Pixelangaben hingegen funktionieren, sind aber im gegebenen Fall nicht gerade zweckmäßig. Ich bin gelinde gesagt verwirrt, mehr noch nachdem ich feststellte, dass er für 'width' ohne Probleme Prozentangaben sowie auch Pixelangaben aktzeptiert.

Nachdem ich ebenfalls feststellen musste dass der IE 6 ein per CSS zugewiesenes "border:0px solid white" ignorierte und nur per direktem 'borders="0"' innerhalb des <iframe>-Tags davon zu überzeugen war, den hässlichen schwarzen Rahmen zu verbergen; versuchte ich mein Glück in dem ich ebenfalls im <iframe>-Tag notierte: height="100%", jedoch ignoriert er auch hier die Angabe, im Gegensatz zu Pixelangaben.
Getrieben von dem Verdacht dass er vielleicht ein Problem mit seinen Eltern haben könnte (der IE ist ja dafür bekannt ein ziemlich schwieriges Kind zu sein ;) habe ich auch das überprüft, direktes parent-Element ist laut Web-Developer "none". O.o

Wie kann das sein - verstehe ich da was falsch und wenn ja was? - und wie schaffe ich ein parent für das verwirrte iframe (ganz zu schweigen von meiner Verwirrung). Und ist denn eigentlich nicht in letzter/erster Instanz das HTML-Tag parent für alle Elemente einer Seite?

Fragen über Fragen,
ich bin dankbar für alle Anstöße, Anregungen und Antworten!

Grüße,
Noel

  1. hallo,

    Ich habe ein merkwürdiges Problem mit einem iframe. Ich weise dem iframe über CSS die Eigenschaft 'height:100%' zu und schau regelmäßig zu wie er das iframe exakt 150px hoch macht und keinen Pixel größer

    Vermutlich hat das HTML-Element, auf das sich die "Prozent" beziehen, eben genau 150px Höhe. Mehr kann mir meine Glaskugel leider nicht als Lösungsvorschlag anbieten.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. Vermutlich hat das HTML-Element, auf das sich die "Prozent" beziehen, eben genau 150px Höhe. Mehr kann mir meine Glaskugel leider nicht als Lösungsvorschlag anbieten.

      Hallo Christoph.
      Nein, er ignoriert alle Angaben, auch 10% oder 84% (meine Wunschgröße). Das HTML-Element hat keine Größe zugewiesen bekommen von mir, und die Seite ist alles in allem auch höher als 150px.

      Aber danke dir für die Idee!
      Grüße,
      Noel

      1. Hallo,

        vielleicht weiss der Browser beim Rendern einfach nicht 100% von was?
        Wenn das Elternelement eine definierte Höhe hat oder positioniert wurde != static sollte es gehen. Manchmal hilft schon:

        html {height:100%;}

        netten Tag
        ^da Powl

        --
        ===============================
        powl.hat-gar-keine-homepage.de/
        1. vielleicht weiss der Browser beim Rendern einfach nicht 100% von was?
          Wenn das Elternelement eine definierte Höhe hat oder positioniert wurde != static sollte es gehen.

          Entschuldige, das habe ich nicht ganz verstanden, mit dem static. Abgesehen davon dass IE6 'position:static' als Eigenschaft für Elemente nicht richtig (besser gesagt gar nicht) interpretiert, war es auch nicht das was du meintest, oder?

          Also das direkte Elternelement sollte, vom Code her gesehen, das body-Element sein.

          »»Manchmal hilft schon:

          html {height:100%;}

          Gute Idee.
          Sowohl das html- wie auch das body-Tag habe ich (nacheinander, nicht gleichzeitig) damit formatiert - jedoch ohne Ergebnis.

          Danke für die Anregung trotz allem!
          Grüße,
          Noel

          1. Also das direkte Elternelement sollte, vom Code her gesehen, das body-Element sein.

            Manchmal hilft schon:
            Sowohl das html- wie auch das body-Tag habe ich (nacheinander, nicht gleichzeitig) damit formatiert - jedoch ohne Ergebnis.

            Ich wiederrufe meine letzte Aussage - ich habe einen Fehler im Code gefunden der dafür sorgte, dass das body-Element nicht korrekt angezeigt werden hätte sollen (dank der Nachlässigkeit von FF wurde es das trotzdem, nur ohne die im CSS zugehörigen Formatierungen), so hat dann die Zuweisung von height:100% auf das body-Element (dessen parent besagtes iframe ist) bewirkt was ich mir wünschte.

            Vielen Dank an alle Antwortenden!
            Grüße,
            Noel

            1. hallo,

              so hat dann die Zuweisung von height:100% auf das body-Element (dessen parent besagtes iframe ist)

              umgekehrt: body ist für iframe "parent", also das Elternelement.

              Grüße aus Berlin

              Christoph S.

              --
              Visitenkarte
              ss:| zu:) ls:& fo:) va:) sh:| rl:|
  2. Hi,

    Ich habe ein merkwürdiges Problem mit einem iframe. Ich weise dem iframe über CSS die Eigenschaft 'height:100%' zu ...

    und weißt vermutlich nicht, worauf sich diese 100% beziehen?

    und schau regelmäßig zu wie er das iframe exakt 150px hoch macht und keinen Pixel größer

    Wer ist "er"?

    selbst wenn der Inhalt (referenzierte HTML mit Text) viel länger ist.

    Das spielt doch hier keine Rolle. Das eingebundene Dokument hat mit dem Elterndokument nicht das Geringste zu tun. Vor allem beeinflussen sie sich gegenseitig nicht in irgendwelchen Größenangaben.

    Ich bin gelinde gesagt verwirrt, mehr noch nachdem ich feststellte, dass er für 'width' ohne Probleme Prozentangaben sowie auch Pixelangaben aktzeptiert.

    Schon wieder dieser geheimnisvolle "er". Nun, das sieht danach aus, als erstrecke sich das Elternelement des iframe über die gesamte Fensterbreite, so dass deine Auffassung von relativer Breite sich zufällig mit der des Browsers deckt.

    Nachdem ich ebenfalls feststellen musste dass der IE 6 ein per CSS zugewiesenes "border:0px solid white" ignorierte

    Für welches Element?

    versuchte ich mein Glück in dem ich ebenfalls im <iframe>-Tag notierte: height="100%", jedoch ignoriert er auch hier die Angabe, im Gegensatz zu Pixelangaben.

    Nochmal: Achte darauf, worauf sich diese 100% beziehen - nämlich auf das übergeordnete Element. Hat keines der Vorfahrenelemente eine definierte Höhe, dann hast du einen Zirkelbezug: Die Höhe der Vorfahrenelemente richtet sich nach ihrem Inhalt, der seinerseits 100% der Höhe des Elternelements haben möchte. Glückssache, wie der Browser diese Zwickmühle auflöst.

    Getrieben von dem Verdacht dass er vielleicht ein Problem mit seinen Eltern haben könnte (der IE ist ja dafür bekannt ein ziemlich schwieriges Kind zu sein ;) habe ich auch das überprüft, direktes parent-Element ist laut Web-Developer "none". O.o

    Das kann nicht sein! Ein valides HTML-Dokument hat immerhin noch body und html als oberste Vorfahrenelemente!

    Wie kann das sein - verstehe ich da was falsch und wenn ja was? - und wie schaffe ich ein parent für das verwirrte iframe (ganz zu schweigen von meiner Verwirrung). Und ist denn eigentlich nicht in letzter/erster Instanz das HTML-Tag parent für alle Elemente einer Seite?

    Nicht das html-Tag, sondern das html-Element. Und was für eine Höhe hast du dem gegeben? Und dem body-Element?

    So long,
     Martin

    --
    Schildkröten können mehr über den Weg berichten als Hasen.