RE: [css3-multicol] page-break-inside and columns

There are interesting use cases in this thread -- apparently there is a need  to request that content of an element is kept on one page, although in different columns. However the additional property or value needs use cases for opposite.

Keeping a small article on one page doesn't require additional properties. Behavior of "page-break-inside:avoid" already means "avoid page break if possible, but still break if this element starts at a new page and still doesn't fit". The most reasonable way to apply this with columns is to try to avoid both as much as possible, which leads to the desired behavior.

The behavior that is not covered is "avoid page and column breaks inside, unless this starts with a new column". It is a softer restriction; the use case is probably again a set of small articles that should be kept together, but the author doesn't want to leave empty columns.

So I think if we do add another value, it should be the opposite:

	page-break-inside:avoid -- avoid page breaks, then avoid column breaks 	
	page-break-inside:avoid-column -- avoid column breaks; pay no attention to page breaks

Alex

-----Original Message-----
From: www-style-request@w3.org [mailto:www-style-request@w3.org] On Behalf Of Håkon Wium Lie
Sent: Thursday, April 02, 2009 2:51 AM
To: www-style@w3.org
Subject: [css3-multicol] page-break-inside and columns

There appears to be one remaining issue before the WG is comfortable sending css3-multicol to Last Call. The current editor's draft:

  http://dev.w3.org/csswg/css3-multicol/#column-breaks

states that he 'page-break-inside' property specifies the behavior of natural column breaks inside elements. That is, if you set:

  p { page-break-inside: avoid }

the formatter will try to avoid both page breaks and column breaks inside p elements.

In most cases, this is what the author wants, I believe. However, there may be cases where the author really cares about avoiding page breaks but doesn't care about column breaks. 

I propose to address this by having two keywords on the 'page-break-inside' property:

  'avoid' -- avoids page breaks
  'avoid-all' -- avoids page breaks and column breaks

One argument against 'avoid-all' is that it doesn't avoid line breaks.
However, I can't think of a better name. 

It should also be noted that using the page-* propoerties to set preferences on columns is not ideal. However, introducing three new properties to describe column behavior seems excessive. 

Opinions welcome.

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

Received on Thursday, 2 April 2009 16:32:03 UTC