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

Re: Multiple baseline question

From: Anton Prowse <prowse@moonhenge.net>
Date: Tue, 24 Jul 2012 08:57:37 +0200
Message-ID: <500E4761.4050601@moonhenge.net>
To: www-style@w3.org
CC: "L. David Baron" <dbaron@dbaron.org>, Julien Chaffraix <julien.chaffraix@gmail.com>, robert@webkit.org
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
Received on Tuesday, 24 July 2012 06:58:13 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:57 GMT