On Mon, May 17, 2010 at 10:42 AM, Boris Zbarsky <bzbarsky@mit.edu> wrote:
> On 5/17/10 1:25 PM, Tab Atkins Jr. wrote:
>>
>> An asbpos table-cell's auto position is defined as the first of the
>> following that exists:
>
> I assume you mean the auto position of an abspos element whose parent is a
> table, table-row-group, table-header-group, table-footer-group, or
> table-row? Or do you really mean something with "display: table-cell;
> position: absolute"? If so, what about the other cases?
Sorry, the former.
> By the way, this brings to mind another obvious case where abspos elements
> don't act like "display: none" in current UAs:
>
> <!DOCTYPE html>
> <body>
> <span style="display: table-cell">a</span>
> <span style="position: absolute"></span>
> <span style="display: table-cell">b</span>
> </body>
>
> Every single browser I have here (IE8, recent Webkit, recent Gecko, Opera
> 10.5) creates two rows (and in fact two tables, as a slightly more careful
> testcase shows) in this case, not one table with one row.
Right, in my ideal world that would create a single table. Abspos
should be treated exactly as display:none for the purpose of the table
algo.
>> Its vertical position is:
>> * the top inner edge of the padding box of the table-row it would be
>> placed in if it weren't absposed
>> * the top inner edge of the padding box of the following table-row
>> * the bottom outer edge of the border box of the preceding table-row
>> * the top inner edge of the padding box of the table
>
> I think making sense of this list depends on the answer to the cases we're
> considering above... at least for me. For one thing, the definition of "the
> table-row it would be placed in" might depend on the answer to that
> question.
Ah, sorry, that's a bad shorthand. Try this:
* the top inner edge of the padding box of the table-row of the first
table-cell box following the element
* the top inner edge of the padding box of the table-row of the first
table-cell box preceding the element
* the top inner edge of the padding box of the table the element is in.
I think this properly covers cases where, frex, you have the abspos
between two table-rows.
~TJ