You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Alternatively, not sure if something special should happen when the sum of weights is less than 1, akin to
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.
The text was updated successfully, but these errors were encountered:
OK, yeah, we definitely need to fix the divide-by-zero case. :) I agree with the behavior you describe, but, while I think your weighting algorithm is very clever in how it can handle the space distribution of both steps, it makes the section a bit harder to digest. So I'm keeping the current structure, but adjusting the step that assigns weights to match your suggestion.
The CSS Working Group just discussed How to distribute space using flex ratios when the sum is 0?, and agreed to the following:
RESOLVED: Accept change in https://github.com/w3c/csswg-drafts/commit/5a43ab7210d08c9a012a7697eb39a382f8133079
The full IRC log of that discussion Topic: How to distribute space using flex ratios when the sum is 0? github: https://github.com//issues/3694 fantasai: This was we forgot to handle divide by 0 case when dividing. minimal fix to only do that if the sum is >0. If sum is 0 we distribute space equally https://github.com/w3c/csswg-drafts/commit/5a43ab7210d08c9a012a7697eb39a382f8133079 fantasai: dif^ fantasai: Refers to how we split up space for intrinsic track sizes. Have to distribute space even though it's flex 0. If there are flex ratios we can use we do. if they're all 0 we can't divide so we say do equally in that case astearns: Any comments? astearns: I don't see in diff anything about distributing equally fantasai: [reads] astearns: Alright so default case is in previous text? fantasai: Yes. astearns: Objections? RESOLVED: Accept change in https://github.com/w3c/csswg-drafts/commit/5a43ab7210d08c9a012a7697eb39a382f8133079
From https://drafts.csswg.org/css-grid/#algo-spanning-flex-items,
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:
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
The text was updated successfully, but these errors were encountered: