- From: MURAKAMI Shinyu <murakami@antenna.co.jp>
- Date: Thu, 21 Aug 2008 05:32:22 +0900
- To: Håkon Wium Lie <howcome@opera.com>
- Cc: www-style@w3.org
Håkon Wium Lie <howcome@opera.com> wrote on 2008/08/20 23:53:47 > Also sprach MURAKAMI Shinyu: > > > > Alternatively, a single 'normal' value could reset the page sequence, > > > i.e. remove any current page sequence. > > > > problem: > > > > <table>...</table> > > <table>...</table> > > <p>This text is not rendered on a rotated page.</p> > > > > The <p> has 'page: auto' (by default) and if 'auto' means > > "the element continues on the page sequence already established", > > the <p> is rendred on a rotated page :-( > > So, you want an element with "page: auto" to end the page sequence? I assumed that the UC4 (css3-page's example) requires it. > > I see some issues with that. First, the child elements with of <table> > will also have "page: auto" and thouse should not end the page > sequence. Second, in UC2: > > <h1>The beginning</h1> > <p>... > <h1>The end</h1> > <p>... > > The <p> elements will also have "page: auto", but we don't want them > to end the page sequence either. Now I've reconsidered. I'd like to change the meaning of the 'auto' value: If the named page list contains 'auto' value, the next element with "page: auto" doesn't establish a new page sequence. e.g., table { page: rotated auto } <table>...</table> <p>This text is rendered on a rotated page.</p> If the named page list has no 'auto' value, the next element with "page: auto" ends the current page sequence and starts a new page sequence. e.g., table { page: rotated } <table>...</table> <p>This text is not rendered on a rotated page.</p> or table { page: rotated-1 rotated-2 } <table>...</table> <p>This text is not rendered on a rotated page.</p> (note that the single value and multiple value have same policy about page sequence establishment) I'd also like the 'page-group' property in the recent GCPM draft. http://dev.w3.org/csswg/css3-gcpm/#page-groups If 'page-group' has value 'auto', the element with named page list same as of the current page sequence doesn't establish a new page sequence. e.g., table { page: rotated; page-group: auto } <table>...</table> <table>...</table> <p>This text is not rendered on a rotated page.</p> (two tables are rendered on the same page if they fit.) It solves all use cases: UC1: <div class="chapter"> <h1>The beginning</h1> .... </div> <div class="chapter"> <h1>The end</h1> .... </div> -with- @page chapter { @top-center { content: string(title) } } @page chapter:first { @top-center { content: none } } div.chapter { page: chapter; page-group: start } h1 { string-set: title content() } -or- @page chapter { @top-center { content: string(title) } } @page chapter-start { @top-center { content: none } } div.chapter { page: chapter-start chapter; page-group: start } h1 { string-set: title content() } UC2: <h1>The beginning</h1> .... <h1>The end</h1> .... -with- @page chapter { @top-center { content: string(title) } } @page chapter:first { @top-center { content: none } } h1 { page: chapter auto; page-group: start; string-set: title content() } -or- @page chapter { @top-center { content: string(title) } } @page chapter-start { @top-center { content: none } } h1 { page: chapter-start chapter auto; page-group: start; string-set: title content() } UC3: No change. @page rotated { size: landscape } table { page: rotated } UC4: No change. In this example, the two tables are rendered on landscape pages (indeed, on the same page, if they fit). The page type "narrow" is used for the <p> after the second table, as the page properties for the table element are no longer in effect: @page narrow { size: 9cm 18cm } @page rotated { size: landscape } div { page: narrow } table { page: rotated } with this document: <div> <table>...</table> <table>...</table> <p>This text is rendered on a 'narrow' page</p> </div> -- Shinyu Murakami http://www.antennahouse.com http://www.antenna.co.jp/AHF/
Received on Wednesday, 20 August 2008 20:33:20 UTC