Ingo Turski: unterschiedliche Interpretation von 'clear'

Beitrag lesen

Hi,

angeregt durch eine Randdiskussion zu anderem Thema (HTML: Schriftgroessenproblem [pref:t=64770&m=372598]) sowie durch ein weiteres kürzlich festgestelltes Phänomen unterschiedlicher Interpretation der CSS-Eigenschaft 'clear' habe ich mir die Spezifikation des W3C <http://www.edition-w3c.de/TR/1998/REC-CSS2-19980512/kap09.html#heading-9.5.1 > einmal genau durchgelesen, komme aber nicht dahinter, wie diese korrekt umzusetzen ist - oder anders gesagt: welche Browser das richtig und welche das falsch machen.
Zur Zeit mag die Frage ja eher akademischer Natur sein, aber da gerade Mozila und auch Opera Bugs viele recht schnell korrigieren, könnte sie bald eine praktische Relevanz bekommen.

Hierzu habe ich drei Fälle in einer Beispielseite online gestellt: http://www.1ngo.de/web/clear.html.

Beispiel 1:
Standard Zweispalten-Layout - links floatende Box, rechts nicht-floatende Box mit margin-left auf Abstand.
IE (6) und Opera (7.11) setzen ein in der rechten Box enthaltenes clearendes Element bis zum unteren Rand des links-floatenden Elements runter. Mozilla (1.4) hält dagegen keinen entsprechenden Abstand ein - falsch?

Beispiel 2:
ebenfalls Standard Zweispalten-Layout, diesmal floaten beide Boxen, eine links und eine rechts, nebenander. Hier hält keiner der drei Browser einen Abstand ein - falsch?

Beispiel 3:
(aus dem o.g. Thread) vier nacheinander definierte links-floatende Boxen, die dritte Box zusätzlich mit clear:left definiert. Hier setzt Mozilla die vierte Box neben die dritte Box runter, während IE und Opera die vierte Box neben die zweite setzen, das clear also nicht auf diese - nachfolgende - Box anwenden - falsch?

Meine Vermutung habe ich durch die Fragestellung bereits deutlich gemacht. Ich interpretiere beim 1. und 2. Beispiel die Definition
"The generated box is moved below all floating boxes of earlier elements in the source document."
sowie
"* The top outer edge of the float must be below the bottom outer edge of all earlier left-floating boxes"
dahingehend, daß die Position des clearenden Elementes sich an der der zuvor im Quelltext definierten links-floatenden Box orientieren soll.

Im 3. Beispiel sehe ich keinen Anlaß, das clear nicht auch auf die nachfolgende vierte Box anzuwenden, wobei mir in der Spezifikation
"(It may be that the element itself has floating descendants; the 'clear' property has no effect on those.)"
Unklar ist, ob man die vierte Box als 'descendant' (Nachkommen) der dritten Box betrachten kann, auf die dann clear nicht angewendet werden sollte.

Mich würde nun interessieren, Wie Ihr das seht und was nun tatsächlich die richtigen Interpretationen sind.

Freundliche Grüße
Ingo