- From: Julien Chaffraix <julien.chaffraix@gmail.com>
- Date: Tue, 24 Jul 2012 09:01:05 -0700
- To: Anton Prowse <prowse@moonhenge.net>
- Cc: www-style@w3.org, "L. David Baron" <dbaron@dbaron.org>, robert@webkit.org
On Mon, Jul 23, 2012 at 11:57 PM, Anton Prowse <prowse@moonhenge.net> wrote: > 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. Ah, good catch. I misread the spec and thought we would need to generate an 'inline-table' wrapper in any inline formatting context. >> 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. I don't know what the baseline of a table would be either but authors seem to be expecting that the 2 blocks are aligned (ie we would align the cell's first line boxes) [1]. This doesn't match what the flexbox spec is saying as it would align the cell's bottom content edge in the example due to the vertical-align: middle property on the table cell. Thanks, Julien [1] Or at least they consider WebKit's behavioral change to be a regression: http://code.google.com/p/chromium/issues/detail?id=136505
Received on Tuesday, 24 July 2012 16:01:57 UTC