Hallo Allerseits,
da ja selbst von den 'Spezialisten' für die Spezifikationen des W3C hier kein Widerspruch kam, möchte ich zusammenfassend die Frage stellen, ob folgende Thesen nun zuteffend sind:
Zum Beispiel 1)
Wird die Eigenschaft 'clear' für ein Element innerhalb eines nicht-floatenden Elements definiert, sollte es unter alle früher im Quelltext vorhandenen (entsprechend dem Parameter für 'clear' links oder rechts) floatenden Elemente gesetzt werden. Die Darstellung im IE und Opera 7.xx wäre demnach korrekt.
Zum Beispiel 2)
Dasselbe gilt auch, wenn 'clear' für ein Element innerhalb eines floatenden Elements definiert wird. Zwar wird ein floatendes Element (und damit auch sein Inhalt) aus dem Dokumentenfluß genommen, allerdings bezieht sich die Definition von 'clear' ausschließlich auf die Position innerhalb des Quelltextes und läßt keine Ausnahme bezüglich des Dokumentenflusses erkennen. Die Darstellung aller (bisher getesteten) Browser wäre demnach falsch.
Zum Beispiel 3)
Die Eigenschaft 'clear' bezieht sich auch auf nachfolgende Elemente und ein nicht im clearenden Element enthaltenes später definiertes Element ist daher ebenfalls davon betroffen. Der Zusatz "(It may be that the element itself has floating descendants; the 'clear' property has no effect on those.)" innerhalb der Spezifikation betrifft dieses Element nicht, da es nicht als "Nachkommen" zu bezeichnen ist. Die Darstellung des Mozilla wäre demnach korrekt.
Ich möchte nochmals betonen, daß es mir nicht darum geht, Browser-Bugs anzuprangern; vielmehr bin ich daran interessiert zu erfahren, ob die Spezifikationen hier eindeutig und wie sie zu interpretieren sind. Dies unter dem Hintergrund möglicher Korrekturen in späteren Browserversionen, die sich - besonders im Beispiel 2 - fatal auf ein bestehendes Layout auswirken könnten, wenn man hier zu leichtfertig die Eigenschaft 'clear' einsetzt.
Übrigens ... unabhängig von den Spezifikationen finde ich die Darstellung im Mozilla zumindest praktisch am besten nutzbar, da es m.E. nicht viel Sinn macht, ein Element zwangsweise unter ein anderes zu setzen, auch wenn dieses sich wie in den Beispielen 1 und 2 außerhalb des entsprechenden Anzeigebereiches befindet und nicht mit diesem kollidieren kann. Für die Meisten dürfte die Darstellung des Mozilla daher wohl "logisch" korrekt sein, wie eine Antwort hier (Stichwort "INNERHALB") ja auch zeigt.
Freundliche Grüße
Ingo