Re: [CSS21] Left float later in source does not clear right float due to nesting of containing block

On Thursday 2013-08-22 18:48 +1000, Alan Gresley wrote:
> Hello,
> 
> I have been reviewing some old offline bug folders and found an old
> test case.
> 
> http://css-class.com/test/css/box/floats/containing-block2.htm
> 
> All UAs tested (IE10, Opera 12.14, FF23 and Chrome 28) will show
> fine if the inner parent (see id=leftparent) in normal flow does not
> have a fixed width.
> 
> If the inner parent in normal flow does have a fixed width, I
> believe that only IE10 shows the test case correctly.
> 
> FF and Opera shows the same regardless of if the inner parent has a
> width or auto width.
> 
> Chrome does not like the test case so it paints the right float
> above the text that is contained within the next float in the
> source.
> 
> Are my conclusions correct? Does IE10 do right in respects to the spec?

I think this is an issue for which we very nearly changed CSS 2.1
because nobody had implemented it correctly, and then the Microsoft
folks said they had.  However, there are really three separate
issues, related to the interaction of rules 3, 5, and 7 with the
containing block of the float not intersecting the floats that need
to be flowed around.

I think the chronology was roughly:

  Multiple browsers fixed the interaction with rule 5, I think because
  Hixie wrote a test for it long ago.

  IE10 fixed the interaction with rules 3 and 5.

  Nobody has fixed the interaction with rule 7.

But more details and a bunch of links that should help with the
history of the issue are in
https://bugzilla.mozilla.org/show_bug.cgi?id=616334 .

-David

-- 
𝄞   L. David Baron                         http://dbaron.org/   𝄂
𝄢   Mozilla                          https://www.mozilla.org/   𝄂
             Before I built a wall I'd ask to know
             What I was walling in or walling out,
             And to whom I was like to give offense.
               - Robert Frost, Mending Wall (1914)

Received on Thursday, 22 August 2013 20:31:31 UTC