Following the fix for #3224, the behavior of column-fill appears to be unnecessarily different between paginated and continuous contexts.
I would suggest fixing this asymmetry by changing the sentence that begins:
In continuous contexts, this property will only be consulted if the length of columns has been constrained in the block dimension, ...
to instead begin:
In continuous contexts, and for the last fragment in fragmented contexts, this property will only be consulted if the length of columns has been constrained in the block dimension, ...
This change will make the behavior for the last fragment in a fragmented context match the behavior in a continuous context, which I think is a good thing. This makes layouts more consistent when they're transferred between fragmented and unfragmented contexts; e.g., a web page changes less as a result of being printed.
In other words, what I'm suggesting is that balancing would be determined by this table (where yes/no is whether to balance), with the * indicating the cases I propose to change:
value |
length |
fragmented context, not last fragment |
fragmented context, last fragment |
continuous context |
auto |
any |
no |
no |
no |
balance |
constrained |
no |
yes |
yes |
balance |
unconstrained |
no |
no* |
no |
balance-all |
constrained |
yes |
yes |
yes |
balance-all |
unconstrained |
yes |
no* |
no |
Following the fix for #3224, the behavior of
column-fillappears to be unnecessarily different between paginated and continuous contexts.I would suggest fixing this asymmetry by changing the sentence that begins:
to instead begin:
This change will make the behavior for the last fragment in a fragmented context match the behavior in a continuous context, which I think is a good thing. This makes layouts more consistent when they're transferred between fragmented and unfragmented contexts; e.g., a web page changes less as a result of being printed.
In other words, what I'm suggesting is that balancing would be determined by this table (where yes/no is whether to balance), with the * indicating the cases I propose to change:valuelengthfragmented context, not last fragmentfragmented context, last fragmentcontinuous contextautoanynononobalanceconstrainednoyesyesbalanceunconstrainednono*nobalance-allconstrainedyesyesyesbalance-allunconstrainedyesno*no