- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Sun, 12 Jul 2009 13:21:18 -0700
- 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> <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. -Boris
Received on Sunday, 12 July 2009 20:22:05 UTC