- From: Allan Sandfeld Jensen <kde@carewolf.com>
- Date: Mon, 19 Sep 2005 12:44:25 +0200
- To: www-style@w3.org
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 this: 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 floats. 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 respected? 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. Regards `Allan
Received on Monday, 19 September 2005 10:44:43 UTC