W3C home > Mailing lists > Public > www-style@w3.org > July 2009

Re: [CSS21] display:run-in clarifications

From: Boris Zbarsky <bzbarsky@MIT.EDU>
Date: Sun, 12 Jul 2009 13:21:18 -0700
Message-ID: <4A5A45BE.7080509@mit.edu>
To: www-style@w3.org
 > 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 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:

       <span style="display: run-in;">a
           <span style="display: table-cell">
             <span style="position: absolute"></span>
       <span style="display: block;">c</span>

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.

Received on Sunday, 12 July 2009 20:22:05 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:07:37 UTC