[CSS21] Paged Media

After having worked on implementing the CSS 2.1 Paged Media over the summer I 
have a few comments and questions about the specification.

1. Page-breaks and positioned elements
It is not specified how treat positioned elements. My interpretation have been 
  Relative positioned elements always stay on the same page as their 
placeholder box (where they would have been).
  Absolute positioned elements can cross page-breaks when their containing box 
does. In this case they have to respect page-breaking rules.
  The real question though is if it should be allowed to use positioning to 
place element in the printable page-margin. Can you use { position: fixed; 
top: -10px} to make margin content?

2. Relative height, relative width
When a page-break occurs inside a box the box usually increases in height. 
Should this difference be used to update percentage height children? My 
interpretation has been no (because doing so makes for impossible to solve 
cases), but extra width available after a page-break should trigger a 
relayout of children to take advantage of it. 
  This leads to an interesting corner case with two floating children with 
height 50% on top of eachother with text flowing next to them. When a 
page-breaks occur that forces one of the floats to the next page, space is 
made available between the floats and the text will actually flow between the 

3. Breaking in boxes with borders
While breaking in bordered boxes is to be avoided it is sometimes necessary. 
When it occurs should the border be closed on each page, or should it be 
cropped where the lowest child on the first page ends, or should it continue 
to the page end?

4. Breaking inside tables
This is the absolute weakest point of the specification. It is just 
recommended not to break in tables. Unfortunately many real-world web pages 
are layed out using tables, make that an unrealistic dream. So page-breaks 
inside tables is a grim reality we have to face. 
  Again under the idea that extra height generated by page-breaks do not 
affect layout, we can break at a number of places, after normal layout. Most 
importantly inside table-cells or between table-rows. 
 When breaking between table-rows should orphans and widows values be 
 Should table header and footer be repeated on each page?
 At what level should it be avoided to break between rows that has a common 
cell (with rowspan).

5. Default HTML4 style
The recommended style for HTML4 has a rule "h1 { page-break-before: always }".
It is my experience that this leads to unexpected page-breaks as web-pages 
have not been designed with this rule in mind. I recommend removing the rule.


Received on Monday, 19 September 2005 10:44:43 UTC