RE: Action Item: Fix Float Positioning Rules for floats in run-ins

See below.

Steve Zilles


> -----Original Message-----
> From: Boris Zbarsky [mailto:bzbarsky@mit.edu]
> On 9/22/10 4:46 PM, Stephen Zilles wrote:
> > [SZ] Good question. Since (I believe) the intent of a "run-in" is to make
> the content within it become part of the block (or list item) it runs into,
> then I would paint the run-in as it were part of that block (or list item).
> I believe that is the intent of saying in 9.2.3 Run-in boxes that "A is
> rendered as an 'inline' element at the start of B's principal box."
> 
> Yes, but now we're talking about floats that are kids of the run in.
[SZ] Agreed. That was what I meant by "content of the run-in". I realize, however, that I did not mean normal-flow content; I meant all content, including the descendent flows to any level.

> And Appendix E section E.2 item 5 says:
> 
>    All non-positioned floating descendants, in tree order.
> 
> (note that "tree order" here talks about traversal of the rendering
> tree, but nothing actually defines where floats go in the rendering
> tree, if anywhere at all, and some will claim that there isn't even a
> rendering tree).  I think the spec is _trying_ to say that in this
> testcase:
> 
>    <span style="display: run-in">
>      <span style="float: left" id="one"></span>
>    </span>
>    <span style="float: left" id="two"></span>
>    <div></div>
> 
> The float with id="one" should paint after the float with id="two".  But
> it needs some reading between the lines (and could _really_ use some
> tests in the test suite).
[SZ] I was not tasked with solving the "paint" issue. For the above test case to behave as you suggest, there would have to be a sibling block element (say with "id=three") following the <span> with id=two. In that case the the run-in would become the first child of that block element and the source tree would be (effectively) re-ordered. With that caveat, I agree with your reading of the paint order because the block which receives the run-in would paint after the float as I understand things.
> 
> -Boris

Received on Thursday, 23 September 2010 02:03:52 UTC