flashnfantasy: Opera: absolute Position von DIVs + Floats = Mess

Diese Kombination von Elementen erzeugt nur beim Opera Probleme:

  • ich verwende eine DIV mit position:absolute
  • innerhalb dieser DIV kommen Float-Elemente vor.
  • auf gleicher Höhe kommen ausserhalb dieser DIV Float-Elemente vor.
  • um die Floats innerhalb der absoluten DIV fließt Text, den ich mit einem Element abschliesse, das die CSS-Eigenschaft clear:both hat

Nun reagiert nur der Opera etwas unerwartet:
Das abschliessende Element berücksichtig auch Floats ausserhalb der absolut positionierten DIV.

Also meine Frage, speziell an die Opera-Fans:

Wie kann ich bei einem Element mit der CSS-Eigenschaft clear:both bewirken, daß das clear sich nur auf die Floats innerhalb der DIV bezieht ?

Kleine Infos am Rande (was ich schon berücksichtige):

  • die absolut positionierte DIV ist schon unterhalb des BODY-Tags eingehängt
  • der Entstehungsort der absolut positionierte DIV (sie wird dynamisch erzeugt durch einen Script) ist entscheident für die Floats, die clear berücksichtigt, auch wenn es anscheinend keinen Zusammenhang zwischen den Elementen gibt.

Es scheint, als Opera beim clear alle Floats berücksichtigt, wärend IE und Mozilla nur die Floats berücksichtigt, die in einem gewissen logischen Kontext stehen zum Element stehen.

  1. Hi!

    Wie kann ich bei einem Element mit der CSS-Eigenschaft clear:both bewirken, daß das clear sich nur auf die Floats innerhalb der DIV bezieht ?

    Leider gar nicht.

    Es scheint, als Opera beim clear alle Floats berücksichtigt, wärend IE und Mozilla nur die Floats berücksichtigt, die in einem gewissen logischen Kontext stehen zum Element stehen.

    Ersteres ist richtig, zweiteres bei hinreichender Interpretation von "gewissen logischen Kontext" auch.

    Siehe auch http://www.1ngo.de/web/clear.html

    Vielleicht lässt sich die Darstellung ja anders lösen, hierzu wären aber mehr Infos nötig (am besten ne Live-Demo).

    Gruß aus Iserlohn

    Martin

    1. Danke,

      ich muß mir das nochmals genauer ansehen, aber so die erste Aussage von der Seite, die du genannt hast stimmt:
      ich setzte "clear:both" häufig zur Absatzsteuerung ein, wenn der Absatz Floats enthält.
      Vorallem mache ich das, weil die Floats manchmal über die DIV nach unten hinausgehen.

      Ein Beispiel kann ich zwar schon geben, aber ich habe das Problem ziemlich vereinfacht.
      In meinem Script können die absoluten DIVs mit der Maus verschoben werden und durch Mausclick öffnen sich Felder innerhalb der DIV. Ich simuliere Fenster ähnlich Windows, und das alles läuft problemlos - bis halt auf die Floats im Opera.

      Gruß,
      Mathias