- 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
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 UTC