On 24/07/2012 02:27, L. David Baron wrote:
> On Monday 2012-07-23 17:11 -0700, L. David Baron wrote:
>> On Monday 2012-07-23 16:32 -0700, Julien Chaffraix wrote:
>>> I have a question about the attached test-case. This is question
>>> related to a recent change in WebKit where we aligned our table
>>> baseline computation with CSS 2.1 but changed the output of the test.
>>> Longer context can be found here:
>>> https://bugs.webkit.org/show_bug.cgi?id=91137
>>>
>>> Browsers don't agree on the exact behavior in this case:
>>> * WebKit (after the change) / Opera don't horizontally align the 2 rectangles.
>>> * WebKit (before the change) / FF and IE align them.
>>>
>>> The current line of thoughts is that the 2 inline-blocks shouldn't be
>>> vertically aligned:
>>> * We align the 2 inline-blocks along their baseline as vertical-align
>>> defaults to 'baseline'.
>>> * "The baseline of an 'inline-block' is the baseline of its last line
>>> box in the normal flow", which means that the inline-block baseline is
>>> the anonymous inline-table's.
>>> * "The baseline of an 'inline-table' is the baseline of the first row
>>> of the table."
>>> * "If a row has no cell box aligned to its baseline, the baseline of
>>> that row is the bottom content edge of the lowest cell in the row.",
>>> the only table cell's has vertical-align: middle so the baseline of
>>> the row is the bottom of the content edge.
> The flaw in your reasoning above is that there is an 'inline-table'
> at all. The anonymous box generation algorithm should produce a
> 'table' since the parent is not display:inline.
> That said, I'm not sure what the baseline of an inline-block
> containing only a table is supposed to be.
... which is related to (and possibly a sub-problem of) the problem that
we don't know what the baseline of a table is. The flexbox spec now
contains the following Note:
# CSS 2.1 did not define the baseline of block or table boxes. It is
# expected that they will be defined consistent with those of table
# cells, as follows:
#
# [...]
#
# ‘table’
# The inline-axis baseline of a table box is the baseline of its
# first row.
Cheers,
Anton Prowse
http://dev.moonhenge.net