[csswg-drafts] [css-grid] How to distribute space using flex ratios when the sum is 0? (#3694)

Loirooriol has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-grid] How to distribute space using flex ratios when the sum is 0? ==
From https://drafts.csswg.org/css-grid/#algo-spanning-flex-items,

> Increase sizes to accommodate spanning items crossing flexible tracks: Next, repeat the previous step instead considering [...] all items that do span a track with a flexible sizing function while [...]
> - distributing space to such tracks according to the ratios of their flexible sizing functions rather than distributing space equally

This "according to the ratios" seems slightly ambiguous to me.

What if the sum of ratios is 0? Then each track should get a 0/0 fraction of the distributed space, doesn't make sense. I guess in this case space is distributed equally, like for non-flexible tracks.

I think it would be more clear if the algorithm said:
 - Non-flexible tracks have a weight of 0.
 - Flexible tracks have a weight of their flex fraction.
 - When distributing space among some tracks, sum their weights. If this is is 0, the space is distributed equally. Otherwise, each track receives a share of its weight divided by the sum of weights.

This should be in the real algorithm, https://drafts.csswg.org/css-grid/#extra-space, not as some kind of vague amendment in https://drafts.csswg.org/css-grid/#algo-spanning-flex-items

Alternatively, not sure if something special should happen when the sum of weights is less than 1, akin to

> `<flex>` values between 0fr and 1fr have a somewhat special behavior: when the sum of the flex factors is less than 1, they will take up less than 100% of the leftover space.

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/3694 using your GitHub account

Received on Friday, 1 March 2019 15:30:01 UTC