[css3-flexbox] Circular dependency between height of "flex-align:stretch" children & height of flexbox

Hi www-style,

I just noticed one circular dependency in the spec that could stand some
clarification.

So -- the definition for 'flex-align: stretch' [1] says that it makes
flexbox items' cross sizes resolve to their line's cross size.

Meanwhile, in the Flexbox Layout Alg section about computing a line's
cross size, we use its items' cross sizes as inputs. [2]

So: when we're computing a line's cross size, what should we be using as
the cross sizes for its auto-sized items with flex-align:stretch?  I see
two possibilities:
  (a) 0 (since it's not resolved yet)
  (b) the "normal" auto size (disregarding the effects of "stretch")

I'd advocate (b), because otherwise, flexboxes whose children are all
auto-sized and have flex-align:stretch (the defaults) would have a cross
size of 0 & not render anything, which is pretty bad default behavior.

Could we clarify this in the spec?  I think the chunk that most needs to
address this is [2]. (where it talks about using the items' cross sizes
as inputs)

~Daniel

[1] Section 8.2, definition of "stretch"
http://dev.w3.org/csswg/css3-flexbox/#flex-align0

[2] Section 9, step 7.3  ("For remaining flexbox items, find the maximum
of the cross sizes of their margin boxes.")
http://dev.w3.org/csswg/css3-flexbox/#layout-algorithm

Received on Tuesday, 24 April 2012 00:05:22 UTC