[css3-page] Clarify 'page' property.

Mon, 11 Feb 2013 16:09:00 -0800

author
fantasai <fantasai.cvs@inkedblade.net>
date
Mon, 11 Feb 2013 16:09:00 -0800
changeset 7436
6ded58aacc4c
parent 7435
2fa0f76c392e
child 7437
3a33dc6c4f9c

[css3-page] Clarify 'page' property.

css3-page/Overview.html file | annotate | diff | comparison | revisions
css3-page/Overview.src.html file | annotate | diff | comparison | revisions
     1.1 --- a/css3-page/Overview.html	Mon Feb 11 14:15:36 2013 -0800
     1.2 +++ b/css3-page/Overview.html	Mon Feb 11 16:09:00 2013 -0800
     1.3 @@ -9,13 +9,13 @@
     1.4     rel=dcterms.rights>
     1.5    <meta content=" CSS Paged Media Module Level 3" name=dcterms.title>
     1.6    <meta content=text name=dcterms.type>
     1.7 -  <meta content=2013-02-11 name=dcterms.issued>
     1.8 +  <meta content=2013-02-12 name=dcterms.issued>
     1.9    <meta content="Melinda Grant" name=dcterms.creator>
    1.10    <meta content="Håkon Wium Lie" name=dcterms.creator>
    1.11    <meta content="Elika J. Etemad" name=dcterms.creator>
    1.12    <meta content="Simon Sapin" name=dcterms.creator>
    1.13    <meta content=W3C name=dcterms.publisher>
    1.14 -  <meta content="http://www.w3.org/TR/2013/ED-css3-page-20130211/"
    1.15 +  <meta content="http://www.w3.org/TR/2013/ED-css3-page-20130212/"
    1.16     name=dcterms.identifier>
    1.17    <meta content="text/html; charset=utf-8" http-equiv=Content-Type>
    1.18    <link href="../default.css" rel=stylesheet type="text/css">
    1.19 @@ -100,14 +100,14 @@
    1.20  
    1.21      <h1>CSS Paged Media Module Level 3</h1>
    1.22  
    1.23 -    <h2 class="no-num no-toc" id=w3c-working>Editor's Draft 11 February 2013</h2>
    1.24 +    <h2 class="no-num no-toc" id=w3c-working>Editor's Draft 12 February 2013</h2>
    1.25  
    1.26      <dl>
    1.27       <dt>This version:
    1.28  
    1.29       <dd><a
    1.30        href="http://dev.w3.org/csswg/css3-page/">http://dev.w3.org/csswg/css3-page/</a></dd>
    1.31 -     <!-- <dd><a href="http://www.w3.org/TR/2013/ED-css3-page-20130211/">http://www.w3.org/TR/2013/WD-css3-page-20130211</a></dd> -->
    1.32 +     <!-- <dd><a href="http://www.w3.org/TR/2013/ED-css3-page-20130212/">http://www.w3.org/TR/2013/WD-css3-page-20130212</a></dd> -->
    1.33  
    1.34       <dt>Latest version:
    1.35  
    1.36 @@ -195,7 +195,7 @@
    1.37     <p>This document contains the <abbr
    1.38      title="Cascading Style Sheets">CSS3</abbr> Paged Media Module W3C Last
    1.39      Call <a href="/2005/10/Process-20051014/tr.html#RecsWD">Working Draft</a>
    1.40 -    of 11 February 2013. The Last Call period ends on <span
    1.41 +    of 12 February 2013. The Last Call period ends on <span
    1.42      class=fudge>TBD</span>.
    1.43  
    1.44     <p>Relative to the previous Last Call Working Draft, this version has
    1.45 @@ -2638,7 +2638,9 @@
    1.46        <tr>
    1.47         <th>Applies to:
    1.48  
    1.49 -       <td>block-level elements
    1.50 +       <td>boxes that create <a
    1.51 +        href="http://www.w3.org/TR/css3-break/#btw-blocks">class 1</a> break
    1.52 +        points
    1.53  
    1.54        <tr>
    1.55         <th>Inherited:
    1.56 @@ -2661,9 +2663,16 @@
    1.57         <td>specified value
    1.58      </table>
    1.59  
    1.60 -    <p>The ‘<a href="#page"><code class=property>page</code></a>’
    1.61 -     property is used to specify a particular type of page on which an
    1.62 -     element <em class=RFC2119>MUST</em> be displayed.
    1.63 +    <p> The ‘<a href="#page"><code class=property>page</code></a>’
    1.64 +     property is used to specify a particular type of page (called a <dfn
    1.65 +     id=named-page>named page</dfn>) on which an element <em
    1.66 +     class=RFC2119>MUST</em> be displayed. If necessary, a <i>forced page
    1.67 +     break</i> is introduced and a new page generated of the specified type.
    1.68 +
    1.69 +    <p> Page names are case-sensitive identifiers. However the ‘<code
    1.70 +     class=css>auto</code>’ value, being a CSS keyword, is <a
    1.71 +     href="http://www.w3.org/TR/CSS21/syndata.html#characters">ASCII
    1.72 +     case-insensitive</a>.
    1.73  
    1.74      <div class=example>
    1.75       <p>This example will put all tables on a right-hand side landscape page
    1.76 @@ -2676,42 +2685,63 @@
    1.77      </div>
    1.78  
    1.79      <p> The ‘<a href="#page"><code class=property>page</code></a>’
    1.80 -     property works as follows: If a block box with inline content has a
    1.81 -     ‘<a href="#page"><code class=property>page</code></a>’ property that
    1.82 -     is different from the preceding block box with inline content, then one
    1.83 -     or two page breaks are inserted between them, and the boxes after the
    1.84 -     break are rendered on a page box of the named type.
    1.85 -
    1.86 -    <p> In addition to breaks defined in <a href="#CSS3-BREAK"
    1.87 -     rel=biblioentry>[CSS3-BREAK]<!--{{!CSS3-BREAK}}--></a>, a <a
    1.88 -     href="http://www.w3.org/TR/css3-break/#btw-blocks">Class 1</a> page
    1.89 -     break <em class=RFC2119>MUST</em> also occur in the margin between
    1.90 -     sibling boxes if the last line box before this margin and the first one
    1.91 -     after it do not have the same value for ‘<a href="#page"><code
    1.92 -     class=property>page</code></a>’.
    1.93 -
    1.94 -    <p>The ‘<a href="#page"><code class=property>page</code></a>’
    1.95 +     property works as follows:
    1.96 +
    1.97 +    <ol>
    1.98 +     <li> First, any ‘<code class=css>auto</code>’ values are resolved
    1.99 +      against non-‘<code class=css>auto</code>’ ancestors (as specified
   1.100 +      below).
   1.101 +
   1.102 +     <li> Next, a <dfn id=preceding-page-value>preceding ‘<code
   1.103 +      class=property>page</code>’ value</dfn> and <dfn
   1.104 +      id=succeeding-page-value>succeeding ‘<code
   1.105 +      class=property>page</code>’ value</dfn> is determined for each box as
   1.106 +      the value (if any) propagated from its last or first child
   1.107 +      (respectively), else the used value on the box itself. A child
   1.108 +      propagates its own <a href="#preceding-page-value"><i
   1.109 +      title="preceding page value">preceding</i></a> or <a
   1.110 +      href="#succeeding-page-value"><i>succeeding ‘<code
   1.111 +      class=property>page</code>’ value</i></a> <em>iff</em> the ‘<a
   1.112 +      href="#page"><code class=property>page</code></a>’ property applies
   1.113 +      to it.
   1.114 +
   1.115 +     <li> If for any two boxes meeting at a <a
   1.116 +      href="http://www.w3.org/TR/css3-break/#btw-blocks">Class 1</a> break
   1.117 +      point, the <a href="#preceding-page-value"><i>preceding ‘<code
   1.118 +      class=property>page</code>’ value</i></a> and <a
   1.119 +      href="#succeeding-page-value"><i>succeeding ‘<code
   1.120 +      class=property>page</code>’ value</i></a> do not match, then a page
   1.121 +      break is forced between the two boxes, and content after the break
   1.122 +      resumes on a page box of the named type.
   1.123 +    </ol>
   1.124 +
   1.125 +    <p> Essentially, the two ‘<a href="#page"><code
   1.126 +     class=property>page</code></a>’ values compared are those from the
   1.127 +     deepest boxes meeting at the class 1 break point, ignoring any subtrees
   1.128 +     rooted by boxes to which the ‘<a href="#page"><code
   1.129 +     class=property>page</code></a>’ property does not apply.
   1.130 +
   1.131 +    <p> The ‘<a href="#page"><code class=property>page</code></a>’
   1.132       property does not inherit. However, if the ‘<a href="#page"><code
   1.133       class=property>page</code></a>’ value on an element is ‘<code
   1.134 -     class=css>auto</code>’, then it is treated as having the same name as
   1.135 -     its nearest ancestor with a non-auto value. When indicated on the root
   1.136 +     class=css>auto</code>’, then its used value is the value specified on
   1.137 +     its nearest ancestor with a non-auto value. When specified on the root
   1.138       element, the effective name is the empty string.
   1.139 -
   1.140 -    <p>Because a previous version of this specification indicated that the
   1.141 +     <!-- See http://www.w3.org/TR/2007/WD-css3-gcpm-20070504/#named3 -->
   1.142 +
   1.143 +    <p> Because a previous version of this specification indicated that the
   1.144       ‘<a href="#page"><code class=property>page</code></a>’ property is
   1.145       inherited, an implementation that inherits the ‘<a href="#page"><code
   1.146       class=property>page</code></a>’ property and treats ‘<code
   1.147       class=css>auto</code>’ as always naming the empty string remains
   1.148       conformant to CSS3 Paged Media. Therefore authors should not explicitly
   1.149       specify the ‘<code class=css>auto</code>’ value on a descendant of
   1.150 -     an element with a non-‘<code class=css>auto</code>’ ‘<a
   1.151 -     href="#page"><code class=property>page</code></a>’ value as the
   1.152 +     an element with a non-‘<code class=css>auto</code>’ value, as the
   1.153       resulting behavior will be unpredictable.
   1.154  
   1.155 -    <p>Page names are case-sensitive identifiers. However the ‘<code
   1.156 -     class=css>auto</code>’ value, being a CSS keyword, is <a
   1.157 -     href="http://www.w3.org/TR/CSS21/syndata.html#characters">ASCII
   1.158 -     case-insensitive</a>.
   1.159 +    <p>See <a href="#CSS3-BREAK"
   1.160 +     rel=biblioentry>[CSS3-BREAK]<!--{{!CSS3-BREAK}}--></a> for additional
   1.161 +     details on page breaks.
   1.162  
   1.163      <div class=example>
   1.164       <p>In this example, the two tables are rendered on landscape pages
     2.1 --- a/css3-page/Overview.src.html	Mon Feb 11 14:15:36 2013 -0800
     2.2 +++ b/css3-page/Overview.src.html	Mon Feb 11 16:09:00 2013 -0800
     2.3 @@ -2029,7 +2029,7 @@
     2.4      <td>auto
     2.5    <tr>
     2.6      <th>Applies to:
     2.7 -    <td>block-level elements
     2.8 +    <td>boxes that create <a href="http://www.w3.org/TR/css3-break/#btw-blocks">class 1</a> break points
     2.9    <tr>
    2.10      <th>Inherited:
    2.11      <td>no (but see prose)
    2.12 @@ -2044,10 +2044,16 @@
    2.13      <td>specified value
    2.14  </table>
    2.15  
    2.16 -<p>The 'page' property is used to specify a particular type of page
    2.17 -on which an element <em class="RFC2119">MUST</em> be displayed.
    2.18 -If necessary, a <i>forced page break</i> is introduced
    2.19 -and a new page generated of the specified type.
    2.20 +<p>
    2.21 +  The 'page' property is used to specify a particular type of page (called a <dfn>named page</dfn>)
    2.22 +  on which an element <em class="RFC2119">MUST</em> be displayed.
    2.23 +  If necessary, a <i>forced page break</i> is introduced
    2.24 +  and a new page generated of the specified type.
    2.25 +
    2.26 +<p>
    2.27 +  Page names are case-sensitive identifiers.
    2.28 +  However the ''auto'' value, being a CSS keyword, is
    2.29 +  <a href="http://www.w3.org/TR/CSS21/syndata.html#characters">ASCII case-insensitive</a>.
    2.30  
    2.31  <div class="example">
    2.32  
    2.33 @@ -2061,32 +2067,52 @@
    2.34  
    2.35  <p>
    2.36    The 'page' property works as follows:
    2.37 -  If the two boxes meeting at a <a href="http://www.w3.org/TR/css3-break/#btw-blocks">Class 1</a> break point
    2.38 -  do not have the same propagated value for 'page',
    2.39 -  then a page break is forced between them,
    2.40 -  and the boxes after the break are rendered on a page box of the named type.
    2.41 -  The propagated value 
    2.42 -  See [[!CSS3-BREAK]] for additional details on paged breaks.
    2.43 -</p>
    2.44  
    2.45 +<ol>
    2.46 +
    2.47 +  <li>
    2.48 +    First, any ''auto'' values are resolved against non-''auto'' ancestors
    2.49 +    (as specified below).
    2.50 +
    2.51 +  <li>
    2.52 +    Next,
    2.53 +    a <dfn>preceding 'page' value</dfn> and <dfn>succeeding 'page' value</dfn>
    2.54 +    is determined for each box
    2.55 +    as the value (if any) propagated from its last or first child (respectively),
    2.56 +    else the used value on the box itself.
    2.57 +    A child propagates its own <i title="preceding page value">preceding</i> or <i>succeeding 'page' value</i>
    2.58 +    <em>iff</em> the 'page' property applies to it.
    2.59 +
    2.60 +  <li>
    2.61 +    If for any two boxes meeting at a <a href="http://www.w3.org/TR/css3-break/#btw-blocks">Class 1</a> break point,
    2.62 +    the <i>preceding 'page' value</i> and <i>succeeding 'page' value</i> do not match,
    2.63 +    then a page break is forced between the two boxes,
    2.64 +    and content after the break resumes on a page box of the named type.
    2.65 +</ol>
    2.66 +
    2.67 +<p>
    2.68 +  Essentially, the two 'page' values compared are those from the deepest boxes
    2.69 +  meeting at the class 1 break point,
    2.70 +  ignoring any subtrees rooted by boxes to which the 'page' property does not apply.
    2.71  
    2.72  <p>
    2.73    The 'page' property does not inherit.
    2.74    However, if the 'page' value on an element is ''auto'',
    2.75 -  then it is treated as having the same name as its nearest ancestor with a non-auto value.
    2.76 -  When indicated on the root element, the effective name is the empty string.
    2.77 +  then its used value is the value specified on its nearest ancestor with a non-auto value.
    2.78 +  When specified on the root element, the effective name is the empty string.
    2.79  
    2.80 -<p>Because a previous version of this specification indicated that the 'page'
    2.81 -property is inherited, an implementation that inherits the 'page' property and
    2.82 -treats ''auto'' as always naming the empty string remains conformant to CSS3
    2.83 -Paged Media. Therefore authors should not explicitly specify the ''auto''
    2.84 -value on a descendant of an element with a non-''auto'' 'page' value as the
    2.85 -resulting behavior will be unpredictable.
    2.86 +  <!-- See http://www.w3.org/TR/2007/WD-css3-gcpm-20070504/#named3 -->
    2.87  
    2.88  <p>
    2.89 -  Page names are case-sensitive identifiers.
    2.90 -  However the ''auto'' value, being a CSS keyword, is
    2.91 -  <a href="http://www.w3.org/TR/CSS21/syndata.html#characters">ASCII case-insensitive</a>.
    2.92 +  Because a previous version of this specification indicated that the 'page' property is inherited,
    2.93 +  an implementation that inherits the 'page' property
    2.94 +  and treats ''auto'' as always naming the empty string
    2.95 +  remains conformant to CSS3 Paged Media.
    2.96 +  Therefore authors should not explicitly specify the ''auto'' value
    2.97 +  on a descendant of an element with a non-''auto'' value,
    2.98 +  as the resulting behavior will be unpredictable.
    2.99 +
   2.100 +<p>See [[!CSS3-BREAK]] for additional details on page breaks.
   2.101  
   2.102  <div class="example">
   2.103  

mercurial