- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Fri, 23 Jan 2009 11:09:23 -0500
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- CC: fantasai <fantasai.lists@inkedblade.net>, www-style@w3.org
Tab Atkins Jr. wrote:
> Well, only if you're throwing around table-* display types, which
> despite their usefulness are still definitely minority display types
> (and I expect them to stay that way).
Interestingly enough, I actually came across a use case my proposal
would break this morning. See
http://stackoverflow.com/questions/471636/centered-ul-wont-expand-horizontally-in-ff-opera-works-in-safari-ie6-7-8
(which links to an example page at
http://deadguy.reliccommunity.com/stuffbox/testinggrounds/display-table.html
in case the stackoverflow page goes away).
The markup basically looks like this, stripped down:
<ul style="display: table">
<li style="display: inline-table">
<h1 style="display: table-cell">Some header text</h1>
<dl style="display: table-cell">
<dt style="display: inline">Something</dt>
<dd style="display: inline-block">Something else</dd>
<dt style="display: inline">And more</dt>
<dd style="display: inline-block">And yet more</dd>
</dl>
</li>
</ul>
except there are several such <li> blocks. So it seems like this sort
of thing really is being used in the wild, and this isn't even a
completely ridiculous use case (just want a table with the list-items as
cells, but each list-item is also a table itself).
> I can see problems in the case that, say, a display:table container
> gets switched to display:block, perhaps by script, which would cause
> its contents to be completely suppressed. Is it possible for CSS to
> do a display-orphaning, analogous to the normal table orphaning but
> without actual DOM changes?
I don't think that would be desirable....
>> He also pointed out that there is existing spec text that requires the sort
>> of lookahead that makes me unhappy, and in particular that blocks inside
>> inlines require it.
>
> Is that truly a display issue, or is that part of the HTML algorithm?
Display. We're talking things like:
<div style="display: inline">
<div style="display: block"/>
</div>
-Boris
Received on Friday, 23 January 2009 16:23:31 UTC