Re: [CSS21] display:run-in clarifications

On Sun, Jul 12, 2009 at 3:21 PM, Boris Zbarsky<bzbarsky@mit.edu> wrote:
>> That said, Opera also makes a run-in into a block if it has a child
>> that's floated or positioned.  I don't have IE8 on hand to test what
>> it does in this case
>
> It appears that it does also.  Both also make a run-in into a block if it
> has a display:table-cell child.  They differ in behavior on the following
> testcase, however:
>
>      <span style="display: run-in;">a
>        <span><span style="display: table-cell"></span></span>
>      </span>
>      <span style="display: block;">b</span>
>
> Opera makes the run-in run in, while IE8 makes it into a block.
>
> Both make a run-in into a block if it has an inline child with a positioned
> or floated child inside that.
>
> Opera does NOT make the run-in into a block, though, given this markup:
>
>    <div>
>      <span style="display: run-in;">a
>        <span>
>          <span style="display: table-cell">
>            <span style="position: absolute"></span>
>          </span>
>        </span>
>      </span>
>      <span style="display: block;">c</span>
>    </div>
>
> I have no idea why the presence of the table-cell box there should affect
> how the absolutely positioned span affects the run-in span; that behavior
> feels completely inconsistent (and probably just dependent on Opera's
> internal representation of CSS boxes) to me.
>
> My personal preference for rule 1 of this section would be that the run-in
> should become a block if it has any in-flow block-level child boxes (where
> block-level would not include internal table elements, since those will
> become an inline-table, and of course not include inine-table or
> inline-block).  This would cause the run-in to become a block if it has an
> inline child with a block child inside that, but I think that's desirable.

I really had no idea that run-in was so complex!  However, I agree
with your conclusions so far, Boris.  I look forward to some
standardization of run-in in the relatively near future, because I've
wanted to use it several times (mainly with <dt>/<dd>).  Instead I end
up having to hack in a float-based solution.

~TJ

Received on Sunday, 12 July 2009 23:13:49 UTC