- From: Elika Etemad via cvs-syncmail <cvsmail@w3.org>
- Date: Thu, 26 Jan 2012 07:09:19 +0000
- To: public-css-commits@w3.org
Update of /sources/public/csswg/css3-break In directory hutz:/tmp/cvs-serv15462 Modified Files: Overview.html Overview.src.html Log Message: Add other option for float continuation handling. Index: Overview.html =================================================================== RCS file: /sources/public/csswg/css3-break/Overview.html,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- Overview.html 25 Jan 2012 17:36:15 -0000 1.15 +++ Overview.html 26 Jan 2012 07:09:17 -0000 1.16 @@ -17,14 +17,14 @@ <h1 id=css-fragmentation-module>CSS Fragmentation Controls Module Level 3</h1> - <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 25 January + <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 26 January 2012</h2> <dl> <dt>This version: <dd><a - href="http://www.w3.org/TR/2012/ED-css3-break-20120125/">http://www.w3.org/csswg/css3-break/</a> + href="http://www.w3.org/TR/2012/ED-css3-break-20120126/">http://www.w3.org/csswg/css3-break/</a> <dt>Latest version: @@ -718,6 +718,14 @@ the page, and not all the content fits, the UA may break anywhere in order to avoid losing content off the edge of the page. + <p> The UA is not required to fragment the scrollable contents of elements + with ‘<code class=property>overflow</code>’ set to + ‘<code class=css>auto</code>’ or ‘<code + class=css>scroll</code>’ and may instead graphically slice their + contents as necessary to fragment the element. In such cases it must treat + the element as having ‘<code class=css>break-inside: + avoid</code>’. + <h3 id=break-types><span class=secno>4.2. </span> Types of Breaks</h3> <p> There are different types of breaks in CSS, defined based on the type @@ -905,6 +913,10 @@ <p> When a flow is fragmented into varying-size fragmenters, the following rules are observed for adapting layout: + <p class=note> The sizing terminology used in this section is defined in + Appendix D of <a href="#CSS3-WRITING-MODES" + rel=biblioentry>[CSS3-WRITING-MODES]<!--{{CSS3-WRITING-MODES}}--></a>. + <ul> <li> Intrinsic sizes are calculated and maintained across the entire element. Where an initial containing block size is needed, assume an @@ -916,14 +928,27 @@ positions using its own size as if the entire element were fragmented across fragmenters of this size. Progress is measured in percentages (not absolute lengths) of used/available space and in amount of used/remaining - content. + content. However, when laying out scrollable elements and certain + replaced elements the UA may instead maintain a consistent measure and + resolved extent across fragmenters. - <li> Fragments of boxes that began on a previous fragmenter must start at - the top of the new fragmenter. If this results in multiple floats - side-by-side that would otherwise be staggered (if they were not - continuations) in order to fit, the floats' widths are reduced (on that - fragmenter only) in proportion to their original widths until they fit. - However they are not reduced past their min-content width. + <li><strong class=issue>Option A:</strong> Fragments of boxes that began + on a previous fragmenter must start at the top of the new fragmenter. If + this results in multiple floats side-by-side that would otherwise be + staggered (if they were not continuations) in order to fit, the floats' + widths are reduced (on that fragmenter only) in proportion to their + original widths until they fit. However they are not reduced past their + min-content width. + + <li><strong class=issue>Option B:</strong> Fragments of boxes that began + on a previous fragmenter must obey placement rules with the additional + constraint that fragments must not be positioned above the before edge of + the fragmenter and must otherwise be placed as high as possible while not + violating other constraints. If this results in a float's continuation + fragment shifting away from the before edge of the fragmenter, then + ‘<code class=css>box-decoration-break: clone</code>’, if + specified, wraps the fragment with the box's margin in addition to its + padding and border. </ul> <p>Below are listed some implications of these rules: @@ -937,16 +962,33 @@ <i>min-content</i>, <i>max-content</i>, or absolute-length size will maintain their measure across pages. - <li> Opposite-side side-by-side floats might overlap if, e.g. both begin - on a wide page, but their min-content measures taken together are too - wide to fit on a later, narrower page. (Auto-sized floats will not - overlap if only their max-content measures are too wide, since the - shrink-wrap algorithm will give them narrower measures due to the - narrower available measure.) + <li><strong class=issue>Option A:</strong> Opposite-side side-by-side + floats might overlap if, e.g. both begin on a wide page, but their + min-content measures taken together are too wide to fit on a later, + narrower page. (Auto-sized floats will not overlap if only their + max-content measures are too wide, since the shrink-wrap algorithm will + give them narrower measures due to the narrower available measure.) - <li> Same-side side-by-side floats might overflow their containing block - if, e.g. both begin on a wide page, but their min-content measures taken - together are too wide to fit on a later, narrower page. + <li><strong class=issue>Option A:</strong> Same-side side-by-side floats + might overflow their containing block if, e.g. both begin on a wide page, + but their min-content measures taken together are too wide to fit on a + later, narrower page. + + <li><strong class=issue>Option B:</strong> Float continuation fragments + may be placed below the top of the page if, e.g. multiple floats continue + onto a new page that is narrower than the previous page and their + (recalculated) widths together are wider than their containing block. + + <li><strong class=issue>Option B:</strong> A block-level continuation + fragment may be placed below the top of the page if, e.g. it establishes + a block formatting context root that is placed beside a float and both + continue onto a narrower page that is too narrow to hold both of them + side-by-side. + + <li><strong class=issue>Option B:</strong> Content adjacent to a preceding + float on one page may wind up above the float on the next page if, e.g. + that float is pushed down because it no longer fits side-by-side with an + earlier float that also continues to this narrower page. </ul> <div class=example> @@ -984,11 +1026,16 @@ before the break are truncated, but margins after the break are preserved. - <p> When a 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 break splits a box, the ‘<code + class=property>box-decoration-break</code>’ property controls + whether the box's margins, borders, and padding wrap the fragment effect + where the split occurs. If they do not (i.e. ‘<code + class=css>slice</code>’ is specified), the box's background and side + margins, border, and padding extend from the effective break point to the + end of the fragmenter (and across the ensuing blank fragmenter if one is + generated due to ‘<code class=css>left</code>’ or ‘<code + class=css>right</code>’ breaking). <span class=issue>Does this use + up height?</span> <h2 id=conformance><span class=secno>5. </span> Conformance</h2> @@ -1237,6 +1284,16 @@ <dt style="display: none"><!-- keeps the doc valid if the DL is empty --> <!----> + <dt id=CSS3-WRITING-MODES>[CSS3-WRITING-MODES] + + <dd>Elika J. Etemad; Koji Ishii; Shinyu Murakami. <a + href="http://www.w3.org/TR/2011/WD-css3-writing-modes-20110901/"><cite>CSS + Writing Modes Module Level 3.</cite></a> 1 September 2011. W3C Working + Draft. (Work in progress.) URL: <a + href="http://www.w3.org/TR/2011/WD-css3-writing-modes-20110901/">http://www.w3.org/TR/2011/WD-css3-writing-modes-20110901/</a> + </dd> + <!----> + <dt id=CSS3COLOR>[CSS3COLOR] <dd>Tantek Çelik; Chris Lilley; L. David Baron. <a Index: Overview.src.html =================================================================== RCS file: /sources/public/csswg/css3-break/Overview.src.html,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- Overview.src.html 25 Jan 2012 17:36:16 -0000 1.16 +++ Overview.src.html 26 Jan 2012 07:09:17 -0000 1.17 @@ -500,6 +500,12 @@ of the page, and not all the content fits, the UA may break anywhere in order to avoid losing content off the edge of the page. </p> + <p> + The UA is not required to fragment the scrollable contents of elements + with 'overflow' set to ''auto'' or ''scroll'' and may instead graphically + slice their contents as necessary to fragment the element. In such cases + it must treat the element as having ''break-inside: avoid''. + </p> <h3 id="break-types"> Types of Breaks</h3> @@ -681,11 +687,16 @@ When a flow is fragmented into varying-size fragmenters, the following rules are observed for adapting layout: </p> + <p class="note"> + The sizing terminology used in this section is defined in Appendix D of + [[CSS3-WRITING-MODES]]. + </p> <ul> <li> Intrinsic sizes are calculated and maintained across the entire element. Where an initial containing block size is needed, assume an initial containing block using the page's size of the first fragment's page. + </li> <li> Layout is performed per-fragmenter, with each fragmenter continuing progress from the breakpoint on the previous, but recalculating sizes @@ -693,7 +704,11 @@ across fragmenters of this size. Progress is measured in percentages (not absolute lengths) of used/available space and in amount of used/remaining content. - <li> + However, when laying out scrollable elements and certain replaced + elements the UA may instead maintain a consistent measure and resolved + extent across fragmenters. + </li> + <li><strong class="issue">Option A:</strong> Fragments of boxes that began on a previous fragmenter must start at the top of the new fragmenter. If this results in multiple floats side-by-side that would otherwise @@ -701,6 +716,17 @@ floats' widths are reduced (on that fragmenter only) in proportion to their original widths until they fit. However they are not reduced past their min-content width. + </li> + <li><strong class="issue">Option B:</strong> + Fragments of boxes that began on a previous fragmenter must obey + placement rules with the additional constraint that fragments must + not be positioned above the before edge of the fragmenter and must + otherwise be placed as high as possible while not violating other + constraints. If this results in a float's continuation fragment + shifting away from the before edge of the fragmenter, then + ''box-decoration-break: clone'', if specified, wraps the fragment + with the box's margin in addition to its padding and border. + </li> </ul> <p>Below are listed some implications of these rules:</p> @@ -709,21 +735,43 @@ Boxes (including tables) fullfilling layout constraints at their <i>fill-available</i> or percentage-based size may change measure across pages. + </li> <li> Boxes (including tables) fulfilling layout constraints at their <i>min-content</i>, <i>max-content</i>, or absolute-length size will maintain their measure across pages. - <li> + </li> + <li><strong class="issue">Option A:</strong> Opposite-side side-by-side floats might overlap if, e.g. both begin on a wide page, but their min-content measures taken together are too wide to fit on a later, narrower page. (Auto-sized floats will not overlap if only their max-content measures are too wide, since the shrink-wrap algorithm will give them narrower measures due to the narrower available measure.) - <li> + </li> + <li><strong class="issue">Option A:</strong> Same-side side-by-side floats might overflow their containing block if, e.g. both begin on a wide page, but their min-content measures taken together are too wide to fit on a later, narrower page. + </li> + <li><strong class="issue">Option B:</strong> + Float continuation fragments may be placed below the top of the + page if, e.g. multiple floats continue onto a new page that is + narrower than the previous page and their (recalculated) widths + together are wider than their containing block. + </li> + <li><strong class="issue">Option B:</strong> + A block-level continuation fragment may be placed below the top of + the page if, e.g. it establishes a block formatting context root + that is placed beside a float and both continue onto a narrower page + that is too narrow to hold both of them side-by-side. + </li> + <li><strong class="issue">Option B:</strong> + Content adjacent to a preceding float on one page may wind up above + the float on the next page if, e.g. that float is pushed down because + it no longer fits side-by-side with an earlier float that also + continues to this narrower page. + </li> </ul> <div class="example"> @@ -759,10 +807,13 @@ </p> <p> - When a 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. + When a break splits a box, the 'box-decoration-break' property controls + whether the box's margins, borders, and padding wrap the fragment effect + where the split occurs. If they do not (i.e. ''slice'' is specified), + the box's background and side margins, border, and padding extend from + the effective break point to the end of the fragmenter (and across the + ensuing blank fragmenter if one is generated due to ''left'' or ''right'' + breaking). <span class="issue">Does this use up height?</span> </p> <h2 id="conformance">
Received on Thursday, 26 January 2012 07:09:33 UTC