W3C home > Mailing lists > Public > www-style@w3.org > September 2006

RE: [CSS3 Paged Media] Page collapsing

From: Grant, Melinda <melinda.grant@hp.com>
Date: Thu, 14 Sep 2006 14:40:27 -0500
Message-ID: <78A3602ADF54BA4EAB53F378BF55588B22A935@G3W0067.americas.hpqcorp.net>
To: "Anne van Kesteren" <annevk@opera.com>, <www-style@w3.org>

 
Hi Anne,

>On Thu, 14 Sep 2006 04:39:06 +0200, Grant, Melinda
<melinda.grant@hp.com>
>wrote:
>> The CSS Paged Media specification
>> (http://www.w3.org/TR/2004/CR-css3-page-20040225/) is currently 
>> unclear as to what should happen when multiple page-break-*
properties 
>> accumulate.

>You mean that it doesn't say what you want? :-)
Well, I want it to be more deterministic.  If my proposal is accepted
(assuming agreement can be reached on appropriate word smithing), HP
will have to change our implementation.  We currently allow accumulated
breaks to generate one empty sheet or two empty surfaces.  Which is not
the same as Opera.  Which is not the same as Firefox.  Which is not the
same as IE.  Which is not the same as Conqueror...  And I don't know yet
what Canon, Epson, Zoran, and others do.  I'm hoping we can reach
agreement on one deterministic approach, and I see those options as (a)
strictly no collapsing and (b) collapsing as completely as possible.  I
think collapsing is preferable, as otherwise I think authors will
struggle with inadvertently producing extra pages.

>What if I had |div::before { content:'Test.' }| specified in some style
sheet? I assume that in that case they would not collapse?
That matches my assumption as in that case, the page is not empty.

>  Also, what happens for cases like: 
>  <div style="page-break-before:always">
>   <div>
>   <div style="page-break-before:always">
In think these should be collapsed into a single page break, barring
generated content...

>For your first example you wouldn't get an empty page for example if
the the outermost <div> has some kind of background image or other
decoration.
Hmmm, well I suppose printing a page with just a background and border
on it would be a good thing if your objective is to use a lot of ink
;-); but I would think authors and users would be better served by
collapsing away pages with only background and borders...?  Do you see
that as undesirable or problematic?  

Authors have other good choices for generating deterministic blank
pages, and they (I think) shouldn't be side effects of page break
properties.

> If such collapsing rules are defined they need to be clear.
Absolutely.  That would be the point.

Thanks for the help in pointing out corners...

Best wishes,
Melinda

-----Original Message-----
From: Anne van Kesteren [mailto:annevk@opera.com] 
Sent: Thursday, September 14, 2006 12:39 AM
To: Grant, Melinda; www-style@w3.org
Cc: w3c-css-wg@w3.org
Subject: Re: [CSS3 Paged Media] Page collapsing

On Thu, 14 Sep 2006 04:39:06 +0200, Grant, Melinda
<melinda.grant@hp.com>
wrote:
> The CSS Paged Media specification
> (http://www.w3.org/TR/2004/CR-css3-page-20040225/) is currently 
> unclear as to what should happen when multiple page-break-* properties

> accumulate.

You mean that it doesn't say what you want? :-)


> The spec is clear that a :left or :right pseudo-class can require that

> a blank page or surface is generated.
> For example:
> <p>This is a paragraph on page 1.</p>
> <div style="page-break-before">
>      <div style="page-break-before">
>          The first div causes a page break; does the second div cause 
> another page break, putting this content on page 3, or are the page 
> breaks collapsed into a single page break so that this is printed on 
> page 2?</div> </div>

What if I had |div::before { content:'Test.' }| specified in some style
sheet? I assume that in that case they would not collapse? Also, what
happens for cases like:

   <div style="page-break-before:always">
    <div>
     <div style="page-break-before:always">

If such collapsing rules are defined they need to be clear. For your
first example you wouldn't get an empty page for example if the the
outermost <div> has some kind of background image or other decoration.


> Different implementations behave differently, as might be expected.  
> It seems that most implementations collapse pages.  Notably Opera's 
> does not.  I propose that the spec be made explicit to require that 
> page-break properties collapse such that no empty pages or surfaces 
> are generated except for one when needed to get to the next right- or 
> left-facing page.  Authors can use other means to create blank pages.
> This would make printed results more interoperable.

I'm fine with changing the specification as long as the collapsing
algorithm is clear.


--
Anne van Kesteren
<http://annevankesteren.nl/>
<http://www.opera.com/>
Received on Thursday, 14 September 2006 19:40:44 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:46 GMT