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

Re: Multiple baseline question

From: L. David Baron <dbaron@dbaron.org>
Date: Mon, 23 Jul 2012 17:27:49 -0700
To: Julien Chaffraix <julien.chaffraix@gmail.com>
Cc: www-style@w3.org, robert@webkit.org
Message-ID: <20120724002749.GA31471@crum.dbaron.org>
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.
> > 
> > Let me know if our interpretation is right or if we missed something.
> 
> I believe it is correct, and has been since the resolution of CSS
> 2.1 issue 26, but I might be missing something.
> 
> I think the relevant Gecko bug is
> https://bugzilla.mozilla.org/show_bug.cgi?id=569645 .  (Note that

Er, actually, no, it isn't, since the 'height' is on the wrapper
rather than the cell.

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.

If you add an explicit display:inline-table div to the testcase,
Gecko aligns them differently, whereas adding an explicit
display:table div causes Gecko to behave the same, which shows Gecko
is inserting a table rather than an inline-table.

That said, I'm not sure what the baseline of an inline-block
containing only a table is supposed to be.

-David

-- 
𝄞   L. David Baron                         http://dbaron.org/   𝄂
𝄢   Mozilla                           http://www.mozilla.org/   𝄂
Received on Tuesday, 24 July 2012 00:28:12 GMT

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