fantasai and Tab wrote:
Hi Rossen!
Tab and I were working on edits wrt grid-auto-flow: none and had an
alternative proposal:
1. Don't add 'none' back. Keep 'grid-auto-flow:rows' as the initial
value.
2. Add, for those use cases, a 'stack' value that stacks items into
the first implicitly-empty slot. Either
a. First slot without explicitly-positioned items into which
the auto-positioned item fits, or
b. First slot without explicitly-positioned items into which
all the auto-positioned items fit
3. To address how that empty slot is found, either
a. Use [rows|columns] instead of 'auto' in 'grid-auto-position'
to define the search direction
b. Allow combining 'stack' with [rows|columns]:
grid-auto-flow: [rows|columns] || stack
4. For compat with Win8, give Win8 apps a default UA stylesheet with
* { grid-auto-flow: -ms-none; }
or
* { grid-auto-position: 1 / 1; }
We feel #2 is better behavior in general, because it doesn't by default
overwrite things that are explicitly placed in the grid, and because it
makes it easy to auto-stack items into slots other than 1-1, for layouts
that would prefer to stack items into a different grid slot. But if that's
not compatible with Win8 apps, the UA rule gives Win8 apps the exact same
behavior as before.
If you really need to keep 'none' instead of '-ms-none' as the keyword for
compat reasons, we could possibly still add a simple "none" value that
does *just* put things in 1/1, no questions asked.
~fantasai and TJ
Rossen wrote:
[Wrt #2] I'd prefer 'deck' in this case. Because in XAML, 'stack' already
means, roughly, flexbox, while 'deck' refers to the behavior we're talking
about.