- 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