RE: [CSS21] @page margins and constant page area width

As an implementer of a user agent, I really don't see why it is useful. For a simple case (lots of plain text), even for the simplest implementation there isn't a technical reason to not flow into pages of varying width. On the other hand, for a complex case (a table or a float multiple pages tall) the problem is just not solvable.

For CSS2.1, I agree the language is unusual (unlike "behavior is undefined" in most cases, or "User agents may handle boxes positioned outside the page box in several ways, including discarding them or creating page boxes for them at the end of the document") and it is more restricting. It may not necessarily lead to bad design if followed literally, but it limits implementation options.

If we get to change it, I think your fist proposal (OK to make page areas equal in some fashion, but not defining how) is the best. After all what do we know about the first page? It may be the envelope...

For CSS3, I would very much like to define a preferred behavior, in as much detail as possible (following the Markus principle). At that level scissors pagination certainly wouldn't cut it, it is more about what happens to content that is not designed for pagination (think video).

-----Original Message-----
From: www-style-request@w3.org [mailto:www-style-request@w3.org] On Behalf Of fantasai
Sent: Tuesday, August 14, 2007 8:58 PM
To: www-style@w3.org
Subject: [CSS21] @page margins and constant page area width


We had a discussion earlier about what the sentence
   # To simplify implementations, user agents may use a single page
   # area width on left, right, and first pages. In this case, the
   # page area width of the first page should be used.
in
   http://www.w3.org/TR/CSS21/page.html#page-selectors
really means. We proposed either changing the wording to

   # To simplify implementations, in this case user agents may adjust
   # the margins to effect a constant page area width on left, right,
   # and first pages.

or dropping the exception altogether, thus requiring UAs to format
content for different widths on different pages.

Mozilla's pagination model is well-suited to handling pages of
different widths, but after talking with Robert O'Callahan about how
some other implementations do pagination, I conclude that it is
unrealistic to expect those implementations to be able to do this.
Thus we need to keep the exception for CSS2.1.

I propose clarifying the text as described above and also requiring
the adjustment not result in negative page margins (unless the
necessary page width is greater than the width of the page sheet) so
that this adjustment does not unexpectedly result in clipped content.

~fantasai

Received on Wednesday, 15 August 2007 05:29:10 UTC