Conny: <div>s "pumpen <div> nicht auf

Hallo ihr,

ich habe mehrere Bilder mit je einem Wort darunter (dient als Link) jeweils auf eine eigene Ebene gelegt und sie mittels float:left; nebeneinander angeordnet.

Alle Bilder-Ebenen liegen gemeinsam auf einer übergeordneten Ebene, die oben und unten einen Rahmen von 3px hat.

Nun ist es so, dass die Bilder den übergeordneten Rahmen nicht aufdrücken. Wenn ich nach den Bild-Ebenen noch ein &nbsp; (oder sonstigen Text) einfüge, funktioniert es jedoch. Wieso schaffen die Ebenen das nicht?

Ich würde das &nbsp; an sich ja lassen, aber die Breite ist durch die Bilder abgedeckt, so dass das &nbsp; in die nächste Zeile rutscht und so den Abstand zur unteren Rahmenlinie vergrößert, was das Layout zerstört.

Grüße,
Conny

  1. Hi,

    Nun ist es so, dass die Bilder den übergeordneten Rahmen nicht aufdrücken.

    Du meinst, die Höhe (genauer: der Wert 'auto' in der Eigenschaft 'height') wird nicht unter Beachtung der gefloateten Elemente berechnet? Ja, das ist absolut richtig. Entweder befindet sich noch ein weiteres Clearing Element in der Box, oder die Box selbst muss gefloatet werden.

    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. Guguck Cheatah

      Du meinst, die Höhe (genauer: der Wert 'auto' in der Eigenschaft 'height') wird nicht unter Beachtung der gefloateten Elemente berechnet? Ja, das ist absolut richtig.

      Wieso?

      Ich stelle mir das so vor: Ich habe eine Schachtel, in die ich verschiedene andere Schachteln stecke. Da muss die große Schachtel doch mindestens so groß werden, wie die kleinen Platz brauchen. Wieso wird das hier ignoriert bzw. erst beachtet, wenn auch nich etwas Nicht-Verpacktes dazu gegeben wird.

      Entweder befindet sich noch ein weiteres Clearing Element in der Box, oder die Box selbst muss gefloatet werden.

      Funktioniert nicht. Ich verstehe auch absolut nicht, wie das etwas bringen könnte.

      Grüße,
      Conny

      1. Hi,

        Ich stelle mir das so vor: Ich habe eine Schachtel, in die ich verschiedene andere Schachteln stecke. Da muss die große Schachtel doch mindestens so groß werden, wie die kleinen Platz brauchen. Wieso wird das hier ignoriert bzw. erst beachtet, wenn auch nich etwas Nicht-Verpacktes dazu gegeben wird.

        nettes Beispiel. Es passt hier aber nicht, weil Elemente über float - genauso wie über z.B. über position:absolute - aus dem normalen Textfluß genommen werden; und dies ist die Voraussetzung dafür, daß die "Schachtel" größer wird. Stelle Dir aus dem Textfluß genommene Container einfach so vor, daß sie die "Wände" durchdringen können oder - im Falle von position:absolute - gar an ganz anderer Stelle auftauchen.

        Entweder befindet sich noch ein weiteres Clearing Element in der Box, oder die Box selbst muss gefloatet werden.

        Was funktioniert nicht? <br style="clear:both;" /> z.B. hebt float auf und stellt den normalen Textfluß wieder her.

        freundliche Grüße
        Ingo

        1. Hi Ingo,

          nettes Beispiel. Es passt hier aber nicht, weil Elemente über float - genauso wie über z.B. über position:absolute - aus dem normalen Textfluß genommen werden; und dies ist die Voraussetzung dafür, daß die "Schachtel" größer wird.

          Ebenen brauchen also eigentlich Text, um vernünftig zu reagieren?

          Was funktioniert nicht? <br style="clear:both;" /> z.B. hebt float auf und stellt den normalen Textfluß wieder her.

          Es liegt wohl am Quirks-Mode. Im Standard-Modus funktioniert's.

          Einen schönen Abend noch,
          Conny

          1. Hi,

            aus dem normalen Textfluß genommen werden; und dies ist die Voraussetzung dafür, daß die "Schachtel" größer wird.

            Ebenen brauchen also eigentlich Text, um vernünftig zu reagieren?

            nein. Inhalte, die im normalen Textfluß sind. Dies können alle möglichen Elemente sein. Text alleine ist ja noch nicht einmal ein Element, sondern nur der Inhalt eines Elements. Und ob dieser Textinhalt im normalen Textfluß ist, bestimmt die Formatierung des Elements, also des P, DIV oder worin sich der Text befindet.

            Was funktioniert nicht? <br style="clear:both;" /> z.B. hebt float auf und stellt den normalen Textfluß wieder her.

            Es liegt wohl am Quirks-Mode. Im Standard-Modus funktioniert's.

            Ich kann mir nicht vorstellen, daß das vom Rendering-Mode abhängt. Hier wird vermutlich ein anderer Bug des quirks-mode verantwortlich sein.

            freundliche Grüße
            Ingo