Mon, 11 Feb 2013 16:09:00 -0800
[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