RE: [css3-flexbox] Baseline of flexboxes and flexbox items

I do not have any input on implementations, but see comment on "inline-block" below.

-----Original Message-----
From: Tab Atkins Jr. [mailto:jackalmage@gmail.com] 
Sent: Monday, April 16, 2012 3:34 PM
To: Morten Stenshorne
Cc: www-style@w3.org; Daniel Holbert; Alex Mogilevsky; Ojan Vafai; Tony Chang
Subject: Re: [css3-flexbox] Baseline of flexboxes and flexbox items

On Mon, Apr 16, 2012 at 3:12 PM, Morten Stenshorne <mstensho@opera.com> wrote:
> "Tab Atkins Jr." <jackalmage@gmail.com> writes:
>
>> The baseline of a flexbox item is just whatever their display type 
>> says it should be (there's no "flexbox item" display type).
>
> That would mean that a flexbox item with e.g. display:block and a 
> flexbox item with display:inline-block would get their baselines 
> calculated differently (first line vs. last line). Do we really want 
> that?

It's the simplest answer.  Those display values had their baselines defined that way for a reason.  There's no real reason to mix, say, display:block and display:inline-block - they're treated identically by Flexbox otherwise, so you might as well declare all the children as one or the other if you want a particular baseline out of all of them.

SZ: inline-blocks use the last baseline because they are typically aligning the block with  text on a line. A short survey of printed examples seemed to indicate that aligning the last line of an inline block with the rest of the text on the line was more common than aligning the first line of the inline block. This alignment is also more consistent with the alignment of replaced elements (which align their bottom margin to the baseline of the text). For tabular/cellular data, it seems much more common to use the first line for alignment.

On the other hand, table cells do their alignment with a special definition, which you modified in your original post.  Hm.

Ojan, Tony, Alex, Daniel, do you have any particular opinion on this?
I can specify it either way - we can either keep the current "flexbox items have their normal baselines, based on their display value" or determine the baseline the same way that table-cells do.

Also, what are all of you doing currently for the baseline of the flexbox itself (for both 'row' and 'column' flexboxes, if it makes a difference, and for the special case when the baseline of all the children is perpendicular to the direction of the flexbox)?

~TJ

Received on Monday, 16 April 2012 22:46:02 UTC