|
|
|
|
|
by mistersquid
2372 days ago
|
|
Never mind flexbox, what generalized rule would yield 5+4+4+4 instead of 5+5+5+2? Something like n rows have m items and the total number of items is (n * m) + 1. And you want the first (m+1)th item to be in row 1. Yes, you’d be wasting your time with flexbox. You’d also be wasting your time complaining flexbox doesn’t support this. To be clear, I don’t see a spec in any of the exceptions you’re carving, and you’re not providing one, just saying “flexbox can’t do this”. You’re right. it can’t. |
|
I’m not sure whether you’ve read my comments elsewhere in this discussion, but the short version is that this is about balancing the number of items in each row while not requiring any extra space compared to the naïve layout. Formally, the goal might be to minimise the maximum pairwise difference between the number of items in the rows, subject to not using more rows than the existing flexbox behaviour and keeping any longer rows earlier in the order. My earlier example assumed all items had the same size, but this isn’t a requirement for flex items and the balancing concept could be generalised by taking into account item sizes and flex settings instead of just looking at the counts.
Good typesetting can vary spacing and possibly hyphenation to give a balanced look to a paragraph, and somewhat complicated algorithms exist to do this well. It doesn’t seem an exotic requirement to have similar attention to detail in laying out flexed content in 2D, and it would certainly allow results that look better than what often happens today.