Re: [css3-multicol] Nested multicolumn elements rendering

Morten Stenshorne wrote:

 > > Yes, it would make sense to honor 'column-fill: auto' even in
 > > unconstrained environments. One can achieve interesting effects, and
 > > one honors specified values (instead of ignoring them).
 > >
 > > If so, we would have, I believe:
 > >
 > >                                          auto                  balance
 > >
 > > continous media, constrained columns     fill                  balance        
 > > continous media, unconstrained columns   honor exlicit breaks  balance        
 > > continous media, overflow columns        -- property has no effect --
 > > paged media, all-but-last-pages          balance               balance
 > > paged media, last page                   fill                  balance
 > >
 > > Does this look right?
 > 
 > Why force-balance in paged media?

It was discussed here:

  http://lists.w3.org/Archives/Public/www-style/2011Dec/0455.html

And, you're right, the conclusion was different -- the next-to-last
line should be:

  paged media, all-but-last-pages          fill                  balance


 > Anyway, I don't think we should change the behavior of
 > "column-fill:auto; height:auto;", since the current version of the spec
 > is rather detailed on how to behave in this case (except that "if the
 > length of columns has been constrained" [1] perhaps is a bit
 > vague). Most engines (WebKit/Blink doesn't count, since it doesn't
 > implement column-fill yet) have implemented this correctly already. If
 > we want to make changes in this area, I think it is better to introduce
 > a new value to 'column-fill' (it could be called 'fill', meaning "never
 > balance").
 > 
 > [1] http://www.w3.org/TR/2011/CR-css3-multicol-20110412/#cf

I think this is one of the few remaining issues in the spec, perhaps
the last. I can go either way, but I'm leaning towards making
column-fill apply and honoring explicit column breaks.

The part of the CR you're referring to:

  In continuous media, this property will only be consulted if the
  length of columns has been constrained. Otherwise, columns will
  automatically be balanced.

was removed after this dicussion:

  http://lists.w3.org/Archives/Public/www-style/2011Dec/0100.html

This conclusion yields a cleaner table:

                                           auto                   balance

  continous media, constrained columns     fill                   balance        
  continous media, unconstrained columns   fill                   balance        
  continous media, overflow columns        -- property has no effect --
  paged media, all-but-last-pages          fill                   balance
  paged media, last page                   fill                   balance


As for implementations, here's a test document:

  http://people.opera.com/howcome/2013/tests/multicol-fill2.html

The results are:

                  force-balances unconstrained      honors explicit column breaks
                  columns in continous media        in continous media

  Opera/presto    sometimes(*)                      yes
  Gecko           no                                no (column breaks not supported
  Prince          no                                yes
  AntennaHouse    no                                yes
  IE              yes                               yes (but only after balancing)
  
  (*) in the test document Opera/Presto balances the first div, but
  not the second. Due to there being an explicit column break?

So, in conclusion, it seems we have more implementatations that do not
force-balance unconstrained columns in continous media.

-h&kon
              Håkon Wium Lie                          CTO °þe®ª
howcome@opera.com                  http://people.opera.com/howcome

Received on Friday, 16 August 2013 21:09:59 UTC