- From: Elika Etemad via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 26 Oct 2011 06:19:23 +0000
- To: public-css-commits@w3.org
Update of /sources/public/csswg/css3-break In directory hutz:/tmp/cvs-serv16900 Modified Files: Overview.html Overview.src.html Log Message: Fix typos, fill in some acknowledgements, link to CSS2.1. Index: Overview.html =================================================================== RCS file: /sources/public/csswg/css3-break/Overview.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Overview.html 26 Oct 2011 05:48:06 -0000 1.1 +++ Overview.html 26 Oct 2011 06:19:20 -0000 1.2 @@ -5,17 +5,17 @@ <head profile="http://www.w3.org/2006/03/hcard"><meta content="text/html; charset=utf-8" http-equiv=Content-Type> - <title>CSS Fragmentation Control Module Level 1</title> + <title>CSS Fragmentation Controls Module Level 3</title> <link href=default.css rel=stylesheet type="text/css"> <link href="http://www.w3.org/StyleSheets/TR/W3C-ED.css" rel=stylesheet type="text/css"> <body> <div class=head> <!--begin-logo--> - <p id=x><a href="http://www.w3.org/"><img alt=W3C height=48 + <p><a href="http://www.w3.org/"><img alt=W3C height=48 src="http://www.w3.org/Icons/w3c_home" width=72></a> <!--end-logo--> - <h1 id=css-fragmentation-module>CSS Fragmentation Control Module Level 1</h1> + <h1 id=css-fragmentation-module>CSS Fragmentation Controls Module Level 3</h1> <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 26 October 2011</h2> @@ -48,7 +48,7 @@ href="http://www.mozilla.com/">Mozilla Corporation</a></span> </dl> <!--begin-copyright--> - <p class=copyright id=copyright-copy-year-2000-w3creg-mit-erci><a + <p class=copyright><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright" rel=license>Copyright</a> © 2011 <a href="http://www.w3.org/"><acronym @@ -70,21 +70,20 @@ <h2 class="no-num no-toc" id=abstract>Abstract</h2> - <p id=this-module-describes-the-fragmentation-> This module describes the - fragmentation model that partitions a flow into pages. It builds on the - Page model module and introduces and defines the fragmentation model. It - adds functionality for pagination, breaking variable fragmet size and - orientation, widows and orphans. + <p> This module describes the fragmentation model that partitions a flow + into pages. It builds on the Page model module and introduces and defines + the fragmentation model. It adds functionality for pagination, breaking + variable fragment size and orientation, widows and orphans. <h2 class="no-num no-toc" id=status>Status of this document</h2> <!--begin-status--> - <p id=this-is-a-public-copy-of-the-editors-dra>This is a public copy of the - editors' draft. It is provided for discussion only and may change at any - moment. Its publication here does not imply endorsement of its contents by - W3C. Don't cite this document other than as work in progress. + <p>This is a public copy of the editors' draft. It is provided for + discussion only and may change at any moment. Its publication here does + not imply endorsement of its contents by W3C. Don't cite this document + other than as work in progress. - <p id=the-archived-public-mailing-list-www-sty>The (<a + <p>The (<a href="http://lists.w3.org/Archives/Public/www-style/">archived</a>) public mailing list <a href="mailto:www-style@w3.org?Subject=%5Bcss3-breaks%5D%20PUT%20SUBJECT%20HERE"> @@ -95,12 +94,10 @@ “[<!---->css3-breaks<!---->] <em>…summary of comment…</em>” - <p id=this-document-was-produced-by-the-css-wo>This document was produced - by the <a href="/Style/CSS/members">CSS Working Group</a> (part of the <a - href="/Style/">Style Activity</a>). + <p>This document was produced by the <a href="/Style/CSS/members">CSS + Working Group</a> (part of the <a href="/Style/">Style Activity</a>). - <p id=this-document-was-produced-by-a-group-op>This document was produced - by a group operating under the <a + <p>This document was produced by a group operating under the <a href="/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent Policy</a>. W3C maintains a <a href="/2004/01/pp-impl/32061/status" rel=disclosure>public list of any patent disclosures</a> made in @@ -118,21 +115,17 @@ <!--begin-toc--> <ul class=toc> - <li id=introduction-1.1.-module-interactions-1.><a href="#intro"><span - class=secno>1. </span>Introduction</a> + <li><a href="#intro"><span class=secno>1. </span>Introduction</a> <ul class=toc> - <li id=module-interactions-><a href="#placement"><span class=secno>1.1. - </span>Module Interactions</a> + <li><a href="#placement"><span class=secno>1.1. </span>Module + Interactions</a> - <li id=values-><a href="#values"><span class=secno>1.2. - </span>Values</a> + <li><a href="#values"><span class=secno>1.2. </span>Values</a> </ul> - <li id=page-breaks-2.1.-break-beforeafter-eleme><a - href="#page-breaks"><span class=secno>2. </span>Page Breaks</a> + <li><a href="#page-breaks"><span class=secno>2. </span>Page Breaks</a> <ul class=toc> - <li id=break-beforeafter-elements-page-break-be><a - href="#pg-br-before-after"><span class=secno>2.1. </span> Break + <li><a href="#pg-br-before-after"><span class=secno>2.1. </span> Break before/after elements: <span class=property>‘<code class=property>page-break-before</code>’</span>, <span class=property>‘<code @@ -140,126 +133,114 @@ class=property>‘<code class=property>page-break-inside</code>’</span> </a> - <li id=using-named-pages-page-><a href="#using-named-pages"><span - class=secno>2.2. </span>Using named pages: ‘<code - class=property>page</code>’</a> + <li><a href="#using-named-pages"><span class=secno>2.2. </span>Using + named pages: ‘<code class=property>page</code>’</a> - <li id=breaks-inside-elements-orphans-widows-><a - href="#breaks-inside"><span class=secno>2.3. </span>Breaks inside + <li><a href="#breaks-inside"><span class=secno>2.3. </span>Breaks inside elements: ‘<code class=property>orphans</code>’, ‘<code class=property>widows</code>’</a> - <li id=allowed-page-breaks-><a href="#allowed-pg-brk"><span - class=secno>2.4. </span>Allowed page breaks</a> + <li><a href="#allowed-pg-brk"><span class=secno>2.4. </span>Allowed page + breaks</a> - <li id=forced-page-breaks-><a href="#forced-pg-brk"><span - class=secno>2.5. </span>Forced page breaks</a> + <li><a href="#forced-pg-brk"><span class=secno>2.5. </span>Forced page + breaks</a> - <li id=best-page-breaks-><a href="#best-pg-brk"><span class=secno>2.6. - </span>"Best" page breaks</a> + <li><a href="#best-pg-brk"><span class=secno>2.6. </span>"Best" page + breaks</a> </ul> - <li id=conformance-3.1.-document-conventions-3.><a - href="#conformance"><span class=secno>3. </span>Conformance</a> + <li><a href="#conformance"><span class=secno>3. </span>Conformance</a> <ul class=toc> - <li id=document-conventions-><a href="#conventions"><span - class=secno>3.1. </span>Document Conventions</a> + <li><a href="#conventions"><span class=secno>3.1. </span>Document + Conventions</a> - <li id=conformance-classes-><a href="#conformance-classes"><span - class=secno>3.2. </span>Conformance Classes</a> + <li><a href="#conformance-classes"><span class=secno>3.2. + </span>Conformance Classes</a> - <li id=partial-implementations-><a href="#partial"><span - class=secno>3.3. </span> Partial Implementations</a> + <li><a href="#partial"><span class=secno>3.3. </span> Partial + Implementations</a> - <li id=experimental-implementations-><a href="#experimental"><span - class=secno>3.4. </span> Experimental Implementations</a> + <li><a href="#experimental"><span class=secno>3.4. </span> Experimental + Implementations</a> - <li id=non-experimental-implementations-><a href="#testing"><span - class=secno>3.5. </span> Non-Experimental Implementations</a> + <li><a href="#testing"><span class=secno>3.5. </span> Non-Experimental + Implementations</a> - <li id=cr-exit-criteria-><a href="#cr-exit-criteria"><span - class=secno>3.6. </span> CR Exit Criteria</a> + <li><a href="#cr-exit-criteria"><span class=secno>3.6. </span> CR Exit + Criteria</a> </ul> - <li class=no-num id=acknowledgments-><a - href="#acknowledgments">Acknowledgments</a> + <li class=no-num><a href="#acknowledgments">Acknowledgments</a> - <li class=no-num id=references-normative-references-other-re><a - href="#references">References</a> + <li class=no-num><a href="#references">References</a> <ul class=toc> - <li class=no-num id=normative-references-><a - href="#normative-references">Normative references</a> - - <li class=no-num id=other-references-><a href="#other-references">Other + <li class=no-num><a href="#normative-references">Normative references</a> + + <li class=no-num><a href="#other-references">Other references</a> </ul> - <li class=no-num id=index-><a href="#index">Index</a> + <li class=no-num><a href="#index">Index</a> - <li class=no-num id=property-index0><a href="#property-index">Property - index</a> + <li class=no-num><a href="#property-index">Property index</a> </ul> <!--end-toc--> <h2 id=intro><span class=secno>1. </span>Introduction</h2> - <p id=this-section-is-not-normative.><em>This section is not - normative.</em> + <p><em>This section is not normative.</em> - <p id=paged-media-e.g.-paper-transparencies-ph> Paged media (e.g., paper, - transparencies, photo album pages, pages displayed on computer screens as - printed output simulations) differ from <a - href="/TR/CSS2/media.html#continuous-media-group"> continuous media</a> in - that the content of the document is split into one or more discrete static - display surfaces. To handle pages, CSS3 Paged Media describes how: + <p> Paged media (e.g., paper, transparencies, photo album pages, pages + displayed on computer screens as printed output simulations) differ from + <a href="/TR/CSS2/media.html#continuous-media-group"> continuous media</a> + in that the content of the document is split into one or more discrete + static display surfaces. To handle pages, CSS3 Paged Media describes how: <ul> - <li id=page-breaks-are-created-and-avoided><a href="#page-breaks">page - breaks</a> are created and avoided; + <li><a href="#page-breaks">page breaks</a> are created and avoided; - <li id=the-page-properties-such-as-size-orienta>the page properties such - as size, orientation, margins, border, and padding are specified; + <li>the page properties such as size, orientation, margins, border, and + padding are specified; - <li id=headers-and-footers-are-established-with>headers and footers are - established within the page margins; + <li>headers and footers are established within the page margins; - <li id=content-such-as-page-counters-are-placed>content such as page - counters are placed in the headers and footers; and + <li>content such as page counters are placed in the headers and footers; + and - <li id=orphans-and-widows-can-be-controlled.>orphans and widows can be - controlled. + <li>orphans and widows can be controlled. </ul> - <p id=this-module-defines-a-page-model-that-sp> This module defines a <a - href="#page-model">page model</a> that specifies how a document is - formatted within a rectangular area, called the <a - href="#page-box-page-rule"> page box</a>, that has finite width and + <p> This module defines a <a href="#page-model">page model</a> that + specifies how a document is formatted within a rectangular area, called + the <a href="#page-box-page-rule"> page box</a>, that has finite width and height. - <p id=although-css3-does-not-specify-how-user-> Although CSS3 does not - specify how user agents transfer page boxes to sheets, it does include - certain mechanisms for telling user agents about the intended page sheet - <a href="#page-size">size and orientation</a>. In the general case, CSS3 - assumes that one page box will be transferred to one surface of similar - size. + <p> Although CSS3 does not specify how user agents transfer page boxes to + sheets, it does include certain mechanisms for telling user agents about + the intended page sheet <a href="#page-size">size and orientation</a>. In + the general case, CSS3 assumes that one page box will be transferred to + one surface of similar size. - <p id=all-properties-defined-in-this-specifica> All properties defined in - this specification also accept the <a + <p> All properties defined in this specification also accept the <a href="http://www.w3.org/TR/CSS21/cascade.html#value-def-inherit"> inherit</a> keyword as their value, but for readability it has not been listed explicitly. <h3 id=placement><span class=secno>1.1. </span>Module Interactions</h3> - <p id=this-module-extends-the-css3-page-module>This module extends the CSS3 - Page module.</p> + <p>This module replaces and extends the pagination controls defined in <a + href="#CSS21" rel=biblioentry>[CSS21]<!--{{CSS21}}--></a> <a + href="http://www.w3.org/TR/CSS21/page.html#page-breaks">section 13.3</a> + and in <a href="#CSS3PAGE" + rel=biblioentry>[CSS3PAGE]<!--{{CSS3PAGE}}--></a>.</p> <!-- End section "Modules Interactions" --> <h3 id=values><span class=secno>1.2. </span>Values</h3> - <p id=this-specification-follows-the-css-prope> This specification follows - the <a href="http://www.w3.org/TR/CSS21/about.html#property-defs"> CSS - property definition conventions</a> from <a href="#CSS21" + <p> This specification follows the <a + href="http://www.w3.org/TR/CSS21/about.html#property-defs"> CSS property + definition conventions</a> from <a href="#CSS21" rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>. Value types not defined in this specification are defined in CSS Level 2 Revision 1 <a href="#CSS21" rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>. Other CSS modules may expand @@ -268,28 +249,27 @@ this module, expands the definition of the <color> value type as used in this specification. - <p id=in-addition-to-the-property-specific-val> In addition to the - property-specific values listed in their definitions, all properties - defined in this specification also accept the <a - href="http://www.w3.org/TR/CSS21/cascade.html#value-def-inherit"> + <p> In addition to the property-specific values listed in their + definitions, all properties defined in this specification also accept the + <a href="http://www.w3.org/TR/CSS21/cascade.html#value-def-inherit"> inherit</a> keyword as their property value. For readability it has not been repeated explicitly. <h2 id=page-breaks><span class=secno>2. </span>Page Breaks</h2> - <p id=the-following-sections-explain-page-brea> The following sections - explain page breaking in CSS3 paged media. Five properties indicate where - the user agent <em class=RFC2119>MAY</em> or <em class=RFC2119>SHOULD</em> - break pages, and on what page (left or right) the subsequent content <em - class=RFC2119> SHOULD</em> resume. Each page break ends layout in the - current <a href="#page-box">page box</a> and causes remaining pieces of - the document tree to be laid out in a new page box. + <p> The following sections explain page breaking in CSS3 paged media. Five + properties indicate where the user agent <em class=RFC2119>MAY</em> or <em + class=RFC2119>SHOULD</em> break pages, and on what page (left or right) + the subsequent content <em class=RFC2119> SHOULD</em> resume. Each page + break ends layout in the current <a href="#page-box">page box</a> and + causes remaining pieces of the document tree to be laid out in a new page + box. - <p id=when-a-page-break-splits-a-box-the-boxs-> When a page break splits a - box, the box's bottom margins, borders, and padding have no visual effect - where the split occurs; the box's background and left and right margins, - border, and padding extend to the bottom of the page, through an ensuing - blank page if one exists, and onto the top of the subsequent page. + <p> When a page break splits a box, the box's bottom margins, borders, and + padding have no visual effect where the split occurs; the box's background + and left and right margins, border, and padding extend to the bottom of + the page, through an ensuing blank page if one exists, and onto the top of + the subsequent page. <h3 id=pg-br-before-after><span class=secno>2.1. </span> Break before/after elements: <span class=property>‘<a href="#page-break-before"><code @@ -429,8 +409,7 @@ <td>specified value </table> - <p id=values-for-these-properties-have-the-fol>Values for these properties - have the following meanings: + <p>Values for these properties have the following meanings: <dl> <dt>auto @@ -457,9 +436,9 @@ the next page is formatted as a right page. </dl> - <p id=a-potential-page-break-location-is-typic> A potential page break - location is typically under the influence of the parent element's <span - class=property>‘<a href="#page-break-inside"><code + <p> A potential page break location is typically under the influence of the + parent element's <span class=property>‘<a + href="#page-break-inside"><code class=property>page-break-inside</code></a>’</span> property, the <span class=property> ‘<a href="#page-break-after"><code class=property>page-break-after</code></a>’</span> property of the @@ -477,9 +456,9 @@ href="#allowed-pg-brk">allowed page breaks</a> for the exact rules on how these properties affect page breaks. - <p id=user-agents-must-apply-these-properties-> User Agents must apply - these properties to block-level boxes and to table rows, table row groups, - and—in the case of ‘<a href="#page-break-inside"><code + <p> User Agents must apply these properties to block-level boxes and to + table rows, table row groups, and—in the case of ‘<a + href="#page-break-inside"><code class=property>page-break-inside</code></a>’—table cells of block-level tables in the normal flow of the root element. User agents should also apply these properties to floated boxes whose containing block @@ -532,15 +511,14 @@ <td>specified value </table> - <p id=the-page-property-is-used-to-specify-a-p> The <span - class=property>‘<a href="#page"><code + <p> The <span class=property>‘<a href="#page"><code class=property>page</code></a>’</span> property is used to specify a particular type of page where an element <em class=RFC2119>SHOULD</em> be displayed. <div class=example> - <p id=this-example-will-put-all-tables-on-a-ri>This example will put all - tables on a right-hand side landscape page (named "rotated"):</p> + <p>This example will put all tables on a right-hand side landscape page + (named "rotated"):</p> <pre> @page rotated { size: landscape } @@ -548,8 +526,7 @@ </pre> </div> - <p id=the-page-property-works-as-follows-if-a-> The <span - class=property>‘<a href="#page"><code + <p> The <span class=property>‘<a href="#page"><code class=property>page</code></a>’</span> property works as follows: If a block box with inline content has a <span class=property>‘<a href="#page"><code class=property>page</code></a>’</span> property @@ -558,39 +535,35 @@ break are rendered on a page box of the named type. See <a href="#forced-pg-brk">"Forced page breaks" below</a>. - <p id=the-page-property-does-not-inherit.-howe> The ‘<a - href="#page"><code class=property>page</code></a>’ property does not - inherit. However, if the ‘<a href="#page"><code + <p> The ‘<a href="#page"><code class=property>page</code></a>’ + property does not inherit. However, if the ‘<a href="#page"><code class=property>page</code></a>’ value on an element is ‘<code class=css>auto</code>’, then it is treated as having the same name as its nearest ancestor with a non-auto value. When indicated on the root element, the effective name is the empty string. - <p id=because-a-previous-version-of-this-speci> Because a previous version - of this specification indicated that the ‘<a href="#page"><code - class=property>page</code></a>’ property is inherited, an - implementation that inherits the ‘<a href="#page"><code - class=property>page</code></a>’ property and treats ‘<code - class=css>auto</code>’ as always naming the empty string remains - conformant to CSS3 Paged Media. Therefore authors should not explicitly - specify the ‘<code class=css>auto</code>’ value on a - descendant of an element with a non-‘<code - class=css>auto</code>’ ‘<a href="#page"><code + <p> Because a previous version of this specification indicated that the + ‘<a href="#page"><code class=property>page</code></a>’ + property is inherited, an implementation that inherits the ‘<a + href="#page"><code class=property>page</code></a>’ property and + treats ‘<code class=css>auto</code>’ as always naming the + empty string remains conformant to CSS3 Paged Media. Therefore authors + should not explicitly specify the ‘<code + class=css>auto</code>’ value on a descendant of an element with a + non-‘<code class=css>auto</code>’ ‘<a href="#page"><code class=property>page</code></a>’ value as the resulting behavior will be unpredictable. - <p id=page-names-are-case-sensitive-identifier> Page names are - case-sensitive identifiers. However the ‘<code + <p> Page names are case-sensitive identifiers. However the ‘<code class=css>auto</code>’ value, being a CSS keyword, is <a href="http://www.w3.org/TR/CSS21/syndata.html#characters">case-insensitive</a>. <div class=example> - <p id=in-this-example-the-two-tables-are-rende> 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:</p> + <p> 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:</p> <pre> @page narrow { size: 9cm 18cm } @@ -698,8 +671,7 @@ <td>specified value </table> - <p id=the-orphans-property-specifies-the-minim> The <span - class=property>‘<a href="#orphans"><code + <p> The <span class=property>‘<a href="#orphans"><code class=property>orphans</code></a>’</span> property specifies the minimum number of line boxes in a block element that <em class=RFC2119>MUST</em> be left at the bottom of a page. The <span @@ -709,23 +681,21 @@ class=RFC2119>MUST</em> be left at the top of a page. Examples of how they are used to control page breaks are given below. - <p id=only-positive-integers-are-allowed-as-va> Only positive integers are - allowed as values of ‘<a href="#orphans"><code - class=property>orphans</code></a>’ and ‘<a - href="#widows"><code class=property>widows</code></a>’. Negative - values and zero are invalid must cause the declaration to be <a + <p> Only positive integers are allowed as values of ‘<a + href="#orphans"><code class=property>orphans</code></a>’ and + ‘<a href="#widows"><code class=property>widows</code></a>’. + Negative values and zero are invalid must cause the declaration to be <a href="http://www.w3.org/TR/CSS21/conform.html#ignore"> ignored</a>. - <p id=if-a-block-contains-fewer-lines-than-the> If a block contains fewer - lines than the value of ‘<a href="#widows"><code - class=property>widows</code></a>’ or ‘<a href="#orphans"><code - class=property>orphans</code></a>’, the rule simply becomes that all - lines in the block must be kept together. + <p> If a block contains fewer lines than the value of ‘<a + href="#widows"><code class=property>widows</code></a>’ or ‘<a + href="#orphans"><code class=property>orphans</code></a>’, the rule + simply becomes that all lines in the block must be kept together. <h3 id=allowed-pg-brk><span class=secno>2.4. </span>Allowed page breaks</h3> - <p id=in-the-normal-flow-page-breaks-may-occur>In the normal flow, page - breaks <em class=RFC2119>may</em> occur at the following places: + <p>In the normal flow, page breaks <em class=RFC2119>may</em> occur at the + following places: <ol> <li id=brk-btw-blocks> In the vertical margin between sibling block boxes @@ -741,13 +711,12 @@ (non-zero) gap between them. </ol> - <p id=these-breaks-are-subject-to-the-followin>These breaks are subject to - the following rules: + <p>These breaks are subject to the following rules: <ul> - <li id=rule-a-breaking-at-1-is-allowed-only-if-> <strong>Rule A:</strong> - Breaking at <a href="#brk-btw-blocks">(1)</a> is allowed only if the - ‘<a href="#page-break-after"><code + <li> <strong>Rule A:</strong> Breaking at <a + href="#brk-btw-blocks">(1)</a> is allowed only if the ‘<a + href="#page-break-after"><code class=property>page-break-after</code></a>’ and ‘<a href="#page-break-before"><code class=property>page-break-before</code></a>’ properties of all the @@ -758,48 +727,44 @@ class=property>right</code>’</span>, or when all of them are <span class=css>‘<code class=property>auto</code>’</span>. - <li id=rule-b-however-if-all-of-them-are-auto-a> <strong>Rule B:</strong> - However, if all of them are <span class=css>‘<code - class=property>auto</code>’</span> and a common ancestor of all the - elements has a <span class=property>‘<a + <li> <strong>Rule B:</strong> However, if all of them are <span + class=css>‘<code class=property>auto</code>’</span> and a + common ancestor of all the elements has a <span class=property>‘<a href="#page-break-inside"><code class=property>page-break-inside</code></a>’</span> value of <span class=css>‘<code class=property>avoid</code>’</span>, then breaking here is not allowed. - <li id=rule-c-breaking-at-2-is-allowed-only-if-> <strong>Rule C:</strong> - Breaking at <a href="#brk-btw-lines">(2)</a> is allowed only if the - number of line boxes between the break and the start of the enclosing - block box is the value of ‘<a href="#orphans"><code - class=property>orphans</code></a>’ or more, and the number of line - boxes between the break and the end of the box is the value of ‘<a - href="#widows"><code class=property>widows</code></a>’ or more. + <li> <strong>Rule C:</strong> Breaking at <a href="#brk-btw-lines">(2)</a> + is allowed only if the number of line boxes between the break and the + start of the enclosing block box is the value of ‘<a + href="#orphans"><code class=property>orphans</code></a>’ or more, + and the number of line boxes between the break and the end of the box is + the value of ‘<a href="#widows"><code + class=property>widows</code></a>’ or more. - <li id=rule-d-in-addition-breaking-at-2-or-3-is> <strong>Rule D:</strong> - In addition, breaking at <a href="#brk-btw-blocks">(2)</a> or <a - href="#brk-end-block">(3)</a> is allowed only if the ‘<a - href="#page-break-inside"><code + <li> <strong>Rule D:</strong> In addition, breaking at <a + href="#brk-btw-blocks">(2)</a> or <a href="#brk-end-block">(3)</a> is + allowed only if the ‘<a href="#page-break-inside"><code class=property>page-break-inside</code></a>’ property of all ancestors is ‘<code class=css>auto</code>’. </ul> - <p id=if-the-above-doesnt-provide-enough-break> If the above doesn't - provide enough break points to keep content from overflowing the page - boxes, then rules A, B and D are dropped in order to find additional - breakpoints. In this case the UA may use the ‘<code + <p> If the above doesn't provide enough break points to keep content from + overflowing the page boxes, then rules A, B and D are dropped in order to + find additional breakpoints. In this case the UA may use the ‘<code class=property>avoid</code>’s that are in effect at those points to weigh the appropriateness of the new breakpoints; however, this specification does not suggest a precise algorithm. - <p id=if-that-still-does-not-lead-to-sufficien> If that still does not lead - to sufficient break points, rule C is dropped as well, to find still more - break points. + <p> If that still does not lead to sufficient break points, rule C is + dropped as well, to find still more break points. <h3 id=forced-pg-brk><span class=secno>2.5. </span>Forced page breaks</h3> - <p id=a-page-break-must-occur-at-1-if-among-th> A page break <em - class=RFC2119>MUST</em> occur at <a href="#brk-btw-blocks">(1)</a> if, - among the'page-break-after' and ‘<a href="#page-break-before"><code + <p> A page break <em class=RFC2119>MUST</em> occur at <a + href="#brk-btw-blocks">(1)</a> if, among the'page-break-after' and + ‘<a href="#page-break-before"><code class=property>page-break-before</code></a>’ properties of all the elements generating boxes that meet at this margin, there is at least one with the value <span class=css>‘<code @@ -807,8 +772,7 @@ class=property>left</code>’</span>, or <span class=css> ‘<code class=property>right</code>’</span>. - <p id=when-multiple-page-break-before-andor-pa> When multiple ‘<a - href="#page-break-before"><code + <p> When multiple ‘<a href="#page-break-before"><code class=property>page-break-before</code></a>’ and/or ‘<a href="#page-break-after"><code class=property>page-break-after</code></a>’ properties with values @@ -819,67 +783,60 @@ ‘<code class=property>left</code>’ values to position ensuing content on a right- or left-facing page. - <p id=a-page-break-must-also-occur-at-1-if-the> A page break <em - class=RFC2119>MUST</em> also occur at <a href="#brk-btw-blocks">(1)</a> if - the last line box above this margin and the first one below it do not have - the same value for ‘<a href="#page"><code - class=property>page</code></a>’. + <p> A page break <em class=RFC2119>MUST</em> also occur at <a + href="#brk-btw-blocks">(1)</a> if the last line box above this margin and + the first one below it do not have the same value for ‘<a + href="#page"><code class=property>page</code></a>’. - <p id=when-a-forced-page-break-occurs-at-1-the> When a forced page break - occurs at <a href="#brk-btw-blocks">(1)</a>, the used values of any - adjoining ‘<code class=property>margin-bottom</code>’ are set - to zero. + <p> When a forced page break occurs at <a href="#brk-btw-blocks">(1)</a>, + the used values of any adjoining ‘<code + class=property>margin-bottom</code>’ are set to zero. <h3 id=best-pg-brk><span class=secno>2.6. </span>"Best" page breaks</h3> - <p id=css3-does-not-define-which-of-a-set-of-a> CSS3 does <em>not</em> - define which of a set of allowed page breaks <em class=RFC2119> MUST</em> - be used; except as defined earlier in the section, CSS3 does not forbid a - user agent to break at every possible break point, or to not break at all. - But CSS3 does recommend that user agents observe the following guidelines - (while recognizing that they are sometimes contradictory): + <p> CSS3 does <em>not</em> define which of a set of allowed page breaks <em + class=RFC2119> MUST</em> be used; except as defined earlier in the + section, CSS3 does not forbid a user agent to break at every possible + break point, or to not break at all. But CSS3 does recommend that user + agents observe the following guidelines (while recognizing that they are + sometimes contradictory): <ul> - <li id=break-as-few-times-as-possible.>Break as few times as possible. + <li>Break as few times as possible. - <li id=make-all-pages-that-dont-end-with-a-forc>Make all pages that don't - end with a forced break appear to have about the same height. + <li>Make all pages that don't end with a forced break appear to have about + the same height. - <li id=avoid-breaking-inside-a-replaced-element>Avoid breaking inside a - replaced element. + <li>Avoid breaking inside a replaced element. </ul> <div class=example> - <p id=suppose-for-example-that-the-style-sheet> Suppose, for example, that - the style sheet contains <span class=css>‘<code class=css>orphans : - 4</code>’</span>, <span class=css>‘<code class=css>widows : - 2</code>’</span>, and there are 20 lines (line boxes) available at - the bottom of the current page, and the next block in normal flow is - considered for placement:</p> + <p> Suppose, for example, that the style sheet contains <span + class=css>‘<code class=css>orphans : 4</code>’</span>, <span + class=css>‘<code class=css>widows : 2</code>’</span>, and + there are 20 lines (line boxes) available at the bottom of the current + page, and the next block in normal flow is considered for placement:</p> <ul> - <li id=if-the-block-contains-20-line-boxes-or-f> If the block contains 20 - line boxes or fewer, it <em class=RFC2119>SHOULD</em> be placed on the - current page. + <li> If the block contains 20 line boxes or fewer, it <em + class=RFC2119>SHOULD</em> be placed on the current page. - <li id=if-the-block-contains-21-or-22-line-boxe> If the block contains 21 - or 22 line boxes, the second part of the paragraph <em - class=RFC2119>MUST</em> not violate the <span class=property>‘<a - href="#widows"><code class=property>widows</code></a>’</span> - constraint, and so the second part <em class=RFC2119>MUST</em> contain - at least two line boxes; likewise the first part <em - class=RFC2119>MUST</em> contain at least four line boxes. + <li> If the block contains 21 or 22 line boxes, the second part of the + paragraph <em class=RFC2119>MUST</em> not violate the <span + class=property>‘<a href="#widows"><code + class=property>widows</code></a>’</span> constraint, and so the + second part <em class=RFC2119>MUST</em> contain at least two line boxes; + likewise the first part <em class=RFC2119>MUST</em> contain at least + four line boxes. - <li id=if-the-block-contains-23-line-boxes-or-m> If the block contains 23 - line boxes or more, the first part <em class=RFC2119> SHOULD</em> - contain 20 lines and the second part the remaining lines. (But if any - part of the block is placed on the current page, that part <em - class=RFC2119>MUST</em> contain at least four line boxes and the second - part at least two line boxes.) + <li> If the block contains 23 line boxes or more, the first part <em + class=RFC2119> SHOULD</em> contain 20 lines and the second part the + remaining lines. (But if any part of the block is placed on the current + page, that part <em class=RFC2119>MUST</em> contain at least four line + boxes and the second part at least two line boxes.) </ul> - <p id=now-suppose-that-orphans-is-10-widows-is> Now suppose that <span - class=property>‘<a href="#orphans"><code + <p> Now suppose that <span class=property>‘<a href="#orphans"><code class=property>orphans</code></a>’</span> is <span class=css>‘<code class=css>10</code>’</span>, <span class=property>‘<a href="#widows"><code @@ -888,14 +845,12 @@ lines available at the bottom of the current page:</p> <ul> - <li id=if-the-block-contains-8-lines-or-fewer-i> If the block contains 8 - lines or fewer, it <em class=RFC2119>SHOULD</em> be placed on the - current page. + <li> If the block contains 8 lines or fewer, it <em + class=RFC2119>SHOULD</em> be placed on the current page. - <li id=if-the-block-contains-9-lines-or-more-it> If the block contains 9 - lines or more, it <em class=RFC2119>MAY NOT</em> be split (that would - violate the orphan constraint), so it <em class=RFC2119>MUST</em> move - as a block to the next page. + <li> If the block contains 9 lines or more, it <em class=RFC2119>MAY + NOT</em> be split (that would violate the orphan constraint), so it <em + class=RFC2119>MUST</em> move as a block to the next page. </ul> </div> <!-- End section "Page Breaks" --> @@ -904,42 +859,36 @@ <h3 id=conventions><span class=secno>3.1. </span>Document Conventions</h3> - <p id=conformance-requirements-are-expressed-w> Conformance requirements - are expressed with a combination of descriptive assertions and RFC 2119 - terminology. The key words “MUST”, “MUST NOT”, “REQUIRED”, - “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, - “RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of - this document are to be interpreted as described in RFC 2119. However, for - readability, these words do not appear in all uppercase letters in this - specification. + <p> Conformance requirements are expressed with a combination of + descriptive assertions and RFC 2119 terminology. The key words “MUST”, + “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, + “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and + “OPTIONAL” in the normative parts of this document are to be + interpreted as described in RFC 2119. However, for readability, these + words do not appear in all uppercase letters in this specification. - <p id=all-of-the-text-of-this-specification-is> All of the text of this - specification is normative except sections explicitly marked as - non-normative, examples, and notes. <a href="#RFC2119" - rel=biblioentry>[RFC2119]<!--{{!RFC2119}}--></a> + <p> All of the text of this specification is normative except sections + explicitly marked as non-normative, examples, and notes. <a + href="#RFC2119" rel=biblioentry>[RFC2119]<!--{{!RFC2119}}--></a> - <p id=examples-in-this-specification-are-intro> Examples in this - specification are introduced with the words “for example” or are set - apart from the normative text with <code>class="example"</code>, like - this: + <p> Examples in this specification are introduced with the words “for + example” or are set apart from the normative text with + <code>class="example"</code>, like this: <div class=example> - <p id=this-is-an-example-of-an-informative-exa>This is an example of an - informative example.</p> + <p>This is an example of an informative example.</p> </div> - <p id=informative-notes-begin-with-the-word-no> Informative notes begin - with the word “Note” and are set apart from the normative text with - <code>class="note"</code>, like this: + <p> Informative notes begin with the word “Note” and are set apart from + the normative text with <code>class="note"</code>, like this: - <p class=note id=note-this-is-an-informative-note.>Note, this is an - informative note. + <p class=note>Note, this is an informative note. <h3 id=conformance-classes><span class=secno>3.2. </span>Conformance Classes</h3> - <p id=conformance-to-css-fragmentation-is-defi>Conformance to CSS - Fragmentation is defined for three conformance classes: + <p>Conformance to CSS Fragmentation is defined for three conformance + classes: <dl> <dt><dfn id=style-sheet title="style sheet!!as conformance class">style @@ -960,76 +909,69 @@ that writes a style sheet. </dl> - <p id=a-style-sheet-is-conformant-to-css-fragm> A style sheet is conformant - to CSS Fragmentation if all of its declarations that use properties - defined in this module have values that are valid according to the generic - CSS grammar and the individual grammars of each property as given in this - module. + <p> A style sheet is conformant to CSS Fragmentation if all of its + declarations that use properties defined in this module have values that + are valid according to the generic CSS grammar and the individual grammars + of each property as given in this module. - <p id=a-renderer-is-conformant-to-css-fragment> A renderer is conformant to - CSS Fragmentation if, in addition to interpreting the style sheet as - defined by the appropriate specifications, it supports all the features - defined by CSS Fragmentation by parsing them correctly and rendering the - document accordingly. However, the inability of a UA to correctly render a - document due to limitations of the device does not make the UA - non-conformant. (For example, a UA is not required to render color on a - monochrome monitor.) + <p> A renderer is conformant to CSS Fragmentation if, in addition to + interpreting the style sheet as defined by the appropriate specifications, + it supports all the features defined by CSS Fragmentation by parsing them + correctly and rendering the document accordingly. However, the inability + of a UA to correctly render a document due to limitations of the device + does not make the UA non-conformant. (For example, a UA is not required to + render color on a monochrome monitor.) - <p id=an-authoring-tool-is-conformant-to-css-f> An authoring tool is - conformant to CSS Fragmentation if it writes style sheets that are - syntactically correct according to the generic CSS grammar and the - individual grammars of each feature in this module, and meet all other - conformance requirements of style sheets as described in this module. + <p> An authoring tool is conformant to CSS Fragmentation if it writes style + sheets that are syntactically correct according to the generic CSS grammar + and the individual grammars of each feature in this module, and meet all + other conformance requirements of style sheets as described in this + module. <h3 id=partial><span class=secno>3.3. </span> Partial Implementations</h3> - <p id=so-that-authors-can-exploit-the-forward-> So that authors can exploit - the forward-compatible parsing rules to assign fallback values, CSS - renderers <strong>must</strong> treat as invalid (and <a - href="http://www.w3.org/TR/CSS21/conform.html#ignore"> ignore as - appropriate</a>) any at-rules, properties, property values, keywords, and - other syntactic constructs for which they have no usable level of support. - In particular, user agents <strong>must not</strong> selectively ignore - unsupported component values and honor supported values in a single - multi-value property declaration: if any value is considered invalid (as - unsupported values must be), CSS requires that the entire declaration be - ignored. + <p> So that authors can exploit the forward-compatible parsing rules to + assign fallback values, CSS renderers <strong>must</strong> treat as + invalid (and <a href="http://www.w3.org/TR/CSS21/conform.html#ignore"> + ignore as appropriate</a>) any at-rules, properties, property values, + keywords, and other syntactic constructs for which they have no usable + level of support. In particular, user agents <strong>must not</strong> + selectively ignore unsupported component values and honor supported values + in a single multi-value property declaration: if any value is considered + invalid (as unsupported values must be), CSS requires that the entire + declaration be ignored. <h3 id=experimental><span class=secno>3.4. </span> Experimental Implementations</h3> - <p id=to-avoid-clashes-with-future-css-feature> To avoid clashes with - future CSS features, the CSS2.1 specification reserves a <a + <p> To avoid clashes with future CSS features, the CSS2.1 specification + reserves a <a href="http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords">prefixed syntax</a> for proprietary and experimental extensions to CSS. - <p id=prior-to-a-specification-reaching-the-ca> Prior to a specification - reaching the Candidate Recommendation stage in the W3C process, all - implementations of a CSS feature are considered experimental. The CSS - Working Group recommends that implementations use a vendor-prefixed syntax - for such features, including those in W3C Working Drafts. This avoids - incompatibilities with future changes in the draft. + <p> Prior to a specification reaching the Candidate Recommendation stage in + the W3C process, all implementations of a CSS feature are considered + experimental. The CSS Working Group recommends that implementations use a + vendor-prefixed syntax for such features, including those in W3C Working + Drafts. This avoids incompatibilities with future changes in the draft. <h3 id=testing><span class=secno>3.5. </span> Non-Experimental Implementations</h3> - <p id=once-a-specification-reaches-the-candida> Once a specification - reaches the Candidate Recommendation stage, non-experimental - implementations are possible, and implementors should release an - unprefixed implementation of any CR-level feature they can demonstrate to - be correctly implemented according to spec. + <p> Once a specification reaches the Candidate Recommendation stage, + non-experimental implementations are possible, and implementors should + release an unprefixed implementation of any CR-level feature they can + demonstrate to be correctly implemented according to spec. - <p id=to-establish-and-maintain-the-interopera> To establish and maintain - the interoperability of CSS across implementations, the CSS Working Group - requests that non-experimental CSS renderers submit an implementation - report (and, if necessary, the testcases used for that implementation - report) to the W3C before releasing an unprefixed implementation of any - CSS features. Testcases submitted to W3C are subject to review and - correction by the CSS Working Group. + <p> To establish and maintain the interoperability of CSS across + implementations, the CSS Working Group requests that non-experimental CSS + renderers submit an implementation report (and, if necessary, the + testcases used for that implementation report) to the W3C before releasing + an unprefixed implementation of any CSS features. Testcases submitted to + W3C are subject to review and correction by the CSS Working Group. - <p id=further-information-on-submitting-testca> Further information on - submitting testcases and implementation reports can be found from on the - CSS Working Group's website at <a + <p> Further information on submitting testcases and implementation reports + can be found from on the CSS Working Group's website at <a href="http://www.w3.org/Style/CSS/Test/"> http://www.w3.org/Style/CSS/Test/</a>. Questions should be directed to the <a href="http://lists.w3.org/Archives/Public/public-css-testsuite"> @@ -1037,12 +979,12 @@ <h3 id=cr-exit-criteria><span class=secno>3.6. </span> CR Exit Criteria</h3> - <p id=for-this-specification-to-be-advanced-to> For this specification to - be advanced to Proposed Recommendation, there must be at least two - independent, interoperable implementations of each feature. Each feature - may be implemented by a different set of products, there is no requirement - that all features be implemented by a single product. For the purposes of - this criterion, we define the following terms: + <p> For this specification to be advanced to Proposed Recommendation, there + must be at least two independent, interoperable implementations of each + feature. Each feature may be implemented by a different set of products, + there is no requirement that all features be implemented by a single + product. For the purposes of this criterion, we define the following + terms: <dl> <dt>independent @@ -1067,27 +1009,29 @@ <dd> a user agent which: <ol class=inline> - <li id=implements-the-specification.>implements the specification. + <li>implements the specification. - <li id=is-available-to-the-general-public.-the->is available to the - general public. The implementation may be a shipping product or other - publicly available version (i.e., beta version, preview release, or - “nightly build”). Non-shipping product releases must have - implemented the feature(s) for a period of at least one month in order - to demonstrate stability. + <li>is available to the general public. The implementation may be a + shipping product or other publicly available version (i.e., beta + version, preview release, or “nightly build”). Non-shipping product + releases must have implemented the feature(s) for a period of at least + one month in order to demonstrate stability. - <li id=is-not-experimental-i.e.-a-version-speci>is not experimental - (i.e., a version specifically designed to pass the test suite and is - not intended for normal usage going forward). + <li>is not experimental (i.e., a version specifically designed to pass + the test suite and is not intended for normal usage going forward). </ol> </dl> - <p id=the-specification-will-remain-candidate-> The specification will - remain Candidate Recommendation for at least six months. + <p> The specification will remain Candidate Recommendation for at least six + months. <h2 class=no-num id=acknowledgments>Acknowledgments</h2> - <p id=the-css-working-group-members.-> The CSS Working Group members. + <p> The editors would like to extend special thanks to Michael Day, and the + former <a href="#CSS3PAGE" + rel=biblioentry>[CSS3PAGE]<!--{{CSS3PAGE}}--></a> editors Jim Bigelow + (HP), Melinda Grant (HP), Håkon Wium Lie (Opera), and Jacob Refstrup (HP) + for their contributions to this specification. <h2 class=no-num id=references>References</h2> @@ -1136,6 +1080,16 @@ href="http://www.w3.org/TR/2011/REC-css3-color-20110607/">http://www.w3.org/TR/2011/REC-css3-color-20110607/</a> </dd> <!----> + + <dt id=CSS3PAGE>[CSS3PAGE] + + <dd>Håkon Wium Lie; Melinda Grant. <a + href="http://www.w3.org/TR/2006/WD-css3-page-20061010"><cite>CSS3 Module: + Paged Media.</cite></a> 10 October 2006. W3C Working Draft. (Work in + progress.) URL: <a + href="http://www.w3.org/TR/2006/WD-css3-page-20061010">http://www.w3.org/TR/2006/WD-css3-page-20061010</a> + </dd> + <!----> </dl> <!--end-informative--> Index: Overview.src.html =================================================================== RCS file: /sources/public/csswg/css3-break/Overview.src.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Overview.src.html 26 Oct 2011 06:01:54 -0000 1.1 +++ Overview.src.html 26 Oct 2011 06:19:21 -0000 1.2 @@ -2,14 +2,14 @@ <html lang="en"> <head profile="http://www.w3.org/2006/03/hcard"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <title>CSS Fragmentation Control Module Level 1</title> + <title>CSS Fragmentation Controls Module Level 3</title> <link rel="stylesheet" type="text/css" href="default.css" /> <link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-[STATUS].css" /> </head> <body> <div class="head"> <!--logo--> - <h1 id="css-fragmentation-module">CSS Fragmentation Control Module Level 1</h1> + <h1 id="css-fragmentation-module">CSS Fragmentation Controls Module Level 3</h1> <h2 class="no-num no-toc">[LONGSTATUS] [DATE]</h2> <dl> <dt>This version:</dt> @@ -30,7 +30,7 @@ <p> This module describes the fragmentation model that partitions a flow into pages. It builds on the Page model module and introduces and defines the fragmentation - model. It adds functionality for pagination, breaking variable fragmet size and + model. It adds functionality for pagination, breaking variable fragment size and orientation, widows and orphans. </p> @@ -74,7 +74,9 @@ </p> <h3 id="placement">Module Interactions</h3> - <p>This module extends the CSS3 Page module.</p> + <p>This module replaces and extends the pagination controls defined in + [[CSS21]] <a href="http://www.w3.org/TR/CSS21/page.html#page-breaks">section 13.3</a> + and in [[CSS3PAGE]].</p> <!-- End section "Modules Interactions" --> <h3 id="values">Values</h3> @@ -707,7 +709,15 @@ </p> <h2 class="no-num" id="acknowledgments">Acknowledgments</h2> <p> - The CSS Working Group members. + The editors would like to extend special thanks to + Michael Day, + and the former [[CSS3PAGE]] editors + Jim Bigelow (HP), + Melinda Grant (HP), + Håkon Wium Lie (Opera), + and + Jacob Refstrup (HP) + for their contributions to this specification. </p> <h2 class="no-num" id="references">References</h2> <h3 class="no-num" id="normative-references">Normative references</h3>
Received on Wednesday, 26 October 2011 06:19:32 UTC