[CSS2.1] [CSS3-Page] allowed breaks and fixed heights

http://www.w3.org/TR/CSS21/page.html#allowed-page-breaks
  #  In the normal flow, page breaks can occur at the following places:
  #   1. In the vertical margin between block boxes. When a page break occurs here,
  #      the used values of the relevant 'margin-top' and 'margin-bottom' properties
  #      are set to '0'.
  #   2. Between line boxes inside a block box.

http://dev.w3.org/csswg/css3-page/#allowed-pg-brk
  # In the normal flow, page breaks  may occur at the following places:
  #
  #   1. In the vertical margin between block boxes (or rows in a table). When a page
  #      break occurs here, the used values of the adjoining 'margin-bottom' and
  #      'margin-top' properties are set to '0'.
  #   2. Between line boxes inside a block box.

Question is, what breaks are allowed here:

   <p style="height: 30em">Short text</p>

I think breaks in the border or padding area should be forbidden, as well as breaks
between a zero-height interface between the content edge and the line boxes. This
will prevent borders and padding that are tightly wrapped around a paragraph to split
off onto the next page without any accompanying content.

However I think we should allow breaks between the line box and the content edge if
there is extra space in between. I believe this is what most browsers do, and I suspect
many float-based layouts especially would break when printed if we did not allow this.
If the author really wants the block to stay together, he can set page-break-inside:
avoid.

I'll post testcases in a bit..

~fantasai

Received on Wednesday, 16 January 2008 20:45:09 UTC