- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Fri, 15 Jan 2010 08:05:25 -0500
- To: Alan Gresley <alan@css-class.com>
- CC: www-style list <www-style@w3.org>
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