Re: Question about run-in and floats

On 1/15/10 2:24 AM, Alan Gresley wrote:
> Interesting. Hard to test since I only have FF 3.6.5 (beta) which does
> not support run-in. The following test case shows diverging behavior
> between IE8, Opera 10 and Safari 4.0.4.
>
> <http://css-class.com/test/css/visformatting/run-in-with-float-clear.htm>
>
> I would expect the clearing element to clear the float.

Why?

> IE8 and Opera 10.10 shows the same with the clearing element clearing
> the float.

IE8 and Opera 10.10 do not run in a run-in that contains a float.  At 
that point the behavior is clear: the following block needs to clear the 
float.  But the behavior of not running in the run-in in this case is 
not what was decided on the last time the working group discussed it, so 
the question is what should happen given that the run-in _is_ supposed 
to run-in.

> The clearing element does not clear the float in Safari 4.0.4
> and shows missing content with the run-in element

Oh, sure.  There's missing content all over the place in Safari's run-in 
implementation.  Also all sorts of dynamic behavior bugs, and in the 
shipping version a bug with run-ins not really becoming blocks if 
followed by an inline.  Pretty much everything other than the very 
simplest behavior (a run-in followed by a block runs in) is broken, and 
even the simplest thing is broken if there happens to be a layout flush 
between the run-in and the block.  It's basically not really worth it to 
look at Safari's behavior here....

-Boris

P.S.  Haven't tried IE8 on my testcases yet, but here's a fun one that 
causes missing content (the string "header") in Opera:

  <body>
    <div style="display:run-in">
      Run-in
      <span>
        <span style="display:table-cell">
         <span style="position: absolute">header</span>
        </span>
      </span>
    </div>
    <div>A block</div>
  </body>

Received on Friday, 15 January 2010 13:07:36 UTC