W3C home > Mailing lists > Public > www-style@w3.org > September 2013

Re: [css3-multicol] Nested multicolumn elements rendering

From: Håkon Wium Lie <howcome@opera.com>
Date: Mon, 2 Sep 2013 02:05:53 +0200
Message-ID: <21027.54881.557874.51609@gargle.gargle.HOWL>
To: Morten Stenshorne <mstensho@opera.com>
Cc: www-style@gtalbot.org, "www-style mailing list" <www-style@w3.org>
Morten Stenshorne wrote:

 > > 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?
 > 
 > There are only 2 columns. When there's one explicit break, how can we
 > balance anything? 

Fair point. Here's a test with three and four columns and more column breaks:

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

It seems that Opera/presto balances, indeed. And that IE11 will always
create overflow column(s) when explicit column breaks appear (somtes
one, sometimes two.)

Revised results:

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

   Opera/presto    yes                               yes
   Gecko           no                                no 
   Prince          no                                yes
   AntennaHouse    no                                yes
   IE              yes                               yes

 > There's only one column left and no implicit breaks
 > available to play with. Looks like IE10 fails to realize this and
 > creates an overflowing column instead. That looks like a bug to me.

I agree that creating overflow columns in these cases are sub-optimal
-- if the height is unconstrained and there is room for all explicit
column breaks, I don's see the need to create overflow columns.

 > > So, in conclusion, it seems we have more implementatations that do not
 > > force-balance unconstrained columns in continous media.
 > 
 > That depends on how you count. :) Something has happened to the Gecko
 > implementation recently, but it too used to follow the spec (the CR
 > still says that we should force-balance under certain circumstances).
 > 
 > height:auto; column-fill:auto; causes force-balancing in BOTH major
 > *browser* engines (Presto (no jokes about "major", please) and Trident)
 > that have a complete implementation of multicol. The two other engines,
 > Gecko (until recently) and WebKit, also cause force-balancing here, but
 > that's just because they don't support the column-fill property.
 > 
 > Now Gecko has changed, perhaps based on what the ED says. It now
 > supports column-fill, and it doesn't force-balance, and this is a
 > violation of the CR (but correct, according to the ED).

Yes, the ED was changed here:

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

 > That said, the proposed change (never force-balance) does simplify
 > things. If nobody has anything against it and this doesn't break the
 > web, I suppose making an backwards-incompatible change to the spec is
 > fine.

I hope to discuss this at the next F2F meeting.

Cheers,

-h&kon
              Håkon Wium Lie                          CTO °þe®ª
howcome@opera.com                  http://people.opera.com/howcome
Received on Monday, 2 September 2013 00:06:30 UTC

This archive was generated by hypermail 2.3.1 : Monday, 2 September 2013 00:06:30 UTC