Re: [css3-flexbox] getting multiline flexbox back into the spec

On 06/07/2011 03:38 AM, Alex Mogilevsky wrote:
>
> Hmm, I like rows/columns, it is way more intuitive than any inline-axis/block-axis
> naming I've seen so far.

:)

> To complete the set of directions, we'll need to add direction of line stacking.
> Is that what "reverse-stack" means? Are you suggesting multiline to go like this? :
>
>  * { writing-mode:lr-tb; /*initial value*/ }
>
>  .multiline-tb-lr {
>   flex-orientation:columns;
>   flex-wrap:wrap;
>   flex-direction:forward; /* initial value - columns stack LTR, as in table */ 
>  }
>
>  .multiline-tb-rl {
>   flex-orientation:columns;
>   flex-wrap:wrap;
>   flex-direction:forward reverse-stack; /* columns stack opposite of table */
>  }

Ah. I had forgotten to think about stacking with columns. :) Yes, I think
this makes sense. (Although I think we can drop the 'forward' keyword since
that's the default.)

> I think with Option 6 as a base (which I like), there are a few variations:
>
> Option 6a:
>      flex-orientation: rows | columns | horizontal | vertical
>      flex-wrap: no-wrap | wrap | balance*
>      flex-direction: forward | backward
>      FLEX-WRAP-DIRECTION: FORWARD | BACKWARD
>
> Option 6b:
>      flex-orientation: rows | columns | horizontal | vertical
>      flex-wrap: no-wrap | wrap | balance*
>      flex-direction: [forward | backward] || [WRAP-FORWARD | WRAP-BACKWARD]
>
> Option 6c:
>      flex-orientation: rows | columns | horizontal | vertical
>      flex-direction: [forward | backward]
>      flex-wrap: no-wrap | wrap | WRAP-REVERSE | balance*
>
> Option 6d:
>      FLEX-DIRECTION: ROWS |  ROWS-REVERSE | COLUMNS | COLUMNS-REVERSE |
>                      HORIZONTAL | HORIZONTAL-REVERSE | VERTICAL | VERTICAL-REVERSE
>      flex-wrap: no-wrap | wrap | WRAP-REVERSE | balance*
>
> (option 6d doesn't need separate orientation/direction properties)
>
> What do you think?

I don't like 6a much because it's yet another property that sets direction.

The problem with 6d is imo it's confusing as to whether the "reverse" is
talking about within the row or the stacking of multiple rows. I really
don't like that one.

I kindof like 6c because it makes you think about the wrapping behavior
when you're deciding to wrap. That makes sense to me. Setting it when
you decide the direction (6b) also makes sense to me. I think either of
these is a good option.

My concern right now is, what happens if you want an explicit direction?
Do we need to add that? Where/how would we add it? It's a bit confusing
because only certain directions are valid once you've decided your
orientation. :)

> Note that for any choice for direction properties there is also packing
> that needs to be defines in two dimensions. Something like
>
>      flex-pack: start | end | center | justify /* in current spec */
>      flex-wrap-pack: before | after| middle | justify
>
> (not sure BTW if there is a convention for how to name justification in
> transverse direction... there is 'middle' vs. 'center' -- should there
> also be a differentname for 'justify'? Maybe 'distribute' vs. 'justify'?)

For the transverse direction we have 'box-align', btw. No? Wasn't it

   flex-align: start | end | center | justify;
   box-align: auto | before | after | middle; /* also applies to blocks */

?

~fantasai

Received on Tuesday, 7 June 2011 02:03:03 UTC