1717
1818 < h1 id =css-fragmentation-module > CSS Fragmentation Controls Module Level 3</ h1 >
1919
20- < h2 class ="no-num no-toc " id =longstatus-date > Editor's Draft 25 January
20+ < h2 class ="no-num no-toc " id =longstatus-date > Editor's Draft 26 January
2121 2012</ h2 >
2222
2323 < dl >
2424 < dt > This version:
2525
2626 < dd > < a
27- href ="http://www.w3.org/TR/2012/ED-css3-break-20120125 / "> http://www.w3.org/csswg/css3-break/</ a >
27+ href ="http://www.w3.org/TR/2012/ED-css3-break-20120126 / "> http://www.w3.org/csswg/css3-break/</ a >
2828
2929 < dt > Latest version:
3030
@@ -718,6 +718,14 @@ <h3 id=possible-breaks><span class=secno>4.1. </span> Possible Break Points</h3>
718718 the page, and not all the content fits, the UA may break anywhere in order
719719 to avoid losing content off the edge of the page.
720720
721+ < p > The UA is not required to fragment the scrollable contents of elements
722+ with ‘< code class =property > overflow</ code > ’ set to
723+ ‘< code class =css > auto</ code > ’ or ‘< code
724+ class =css > scroll</ code > ’ and may instead graphically slice their
725+ contents as necessary to fragment the element. In such cases it must treat
726+ the element as having ‘< code class =css > break-inside:
727+ avoid</ code > ’.
728+
721729 < h3 id =break-types > < span class =secno > 4.2. </ span > Types of Breaks</ h3 >
722730
723731 < p > There are different types of breaks in CSS, defined based on the type
@@ -905,6 +913,10 @@ <h3 id=breaking-boxes><span class=secno>4.6. </span> Box Model for Breaking</h3>
905913 < p > When a flow is fragmented into varying-size fragmenters, the following
906914 rules are observed for adapting layout:
907915
916+ < p class =note > The sizing terminology used in this section is defined in
917+ Appendix D of < a href ="#CSS3-WRITING-MODES "
918+ rel =biblioentry > [CSS3-WRITING-MODES]<!--{{CSS3-WRITING-MODES}}--> </ a > .
919+
908920 < ul >
909921 < li > Intrinsic sizes are calculated and maintained across the entire
910922 element. Where an initial containing block size is needed, assume an
@@ -916,14 +928,27 @@ <h3 id=breaking-boxes><span class=secno>4.6. </span> Box Model for Breaking</h3>
916928 positions using its own size as if the entire element were fragmented
917929 across fragmenters of this size. Progress is measured in percentages (not
918930 absolute lengths) of used/available space and in amount of used/remaining
919- content.
920-
921- < li > Fragments of boxes that began on a previous fragmenter must start at
922- the top of the new fragmenter. If this results in multiple floats
923- side-by-side that would otherwise be staggered (if they were not
924- continuations) in order to fit, the floats' widths are reduced (on that
925- fragmenter only) in proportion to their original widths until they fit.
926- However they are not reduced past their min-content width.
931+ content. However, when laying out scrollable elements and certain
932+ replaced elements the UA may instead maintain a consistent measure and
933+ resolved extent across fragmenters.
934+
935+ < li > < strong class =issue > Option A:</ strong > Fragments of boxes that began
936+ on a previous fragmenter must start at the top of the new fragmenter. If
937+ this results in multiple floats side-by-side that would otherwise be
938+ staggered (if they were not continuations) in order to fit, the floats'
939+ widths are reduced (on that fragmenter only) in proportion to their
940+ original widths until they fit. However they are not reduced past their
941+ min-content width.
942+
943+ < li > < strong class =issue > Option B:</ strong > Fragments of boxes that began
944+ on a previous fragmenter must obey placement rules with the additional
945+ constraint that fragments must not be positioned above the before edge of
946+ the fragmenter and must otherwise be placed as high as possible while not
947+ violating other constraints. If this results in a float's continuation
948+ fragment shifting away from the before edge of the fragmenter, then
949+ ‘< code class =css > box-decoration-break: clone</ code > ’, if
950+ specified, wraps the fragment with the box's margin in addition to its
951+ padding and border.
927952 </ ul >
928953
929954 < p > Below are listed some implications of these rules:
@@ -937,16 +962,33 @@ <h3 id=breaking-boxes><span class=secno>4.6. </span> Box Model for Breaking</h3>
937962 < i > min-content</ i > , < i > max-content</ i > , or absolute-length size will
938963 maintain their measure across pages.
939964
940- < li > Opposite-side side-by-side floats might overlap if, e.g. both begin
941- on a wide page, but their min-content measures taken together are too
942- wide to fit on a later, narrower page. (Auto-sized floats will not
943- overlap if only their max-content measures are too wide, since the
944- shrink-wrap algorithm will give them narrower measures due to the
945- narrower available measure.)
946-
947- < li > Same-side side-by-side floats might overflow their containing block
948- if, e.g. both begin on a wide page, but their min-content measures taken
949- together are too wide to fit on a later, narrower page.
965+ < li > < strong class =issue > Option A:</ strong > Opposite-side side-by-side
966+ floats might overlap if, e.g. both begin on a wide page, but their
967+ min-content measures taken together are too wide to fit on a later,
968+ narrower page. (Auto-sized floats will not overlap if only their
969+ max-content measures are too wide, since the shrink-wrap algorithm will
970+ give them narrower measures due to the narrower available measure.)
971+
972+ < li > < strong class =issue > Option A:</ strong > Same-side side-by-side floats
973+ might overflow their containing block if, e.g. both begin on a wide page,
974+ but their min-content measures taken together are too wide to fit on a
975+ later, narrower page.
976+
977+ < li > < strong class =issue > Option B:</ strong > Float continuation fragments
978+ may be placed below the top of the page if, e.g. multiple floats continue
979+ onto a new page that is narrower than the previous page and their
980+ (recalculated) widths together are wider than their containing block.
981+
982+ < li > < strong class =issue > Option B:</ strong > A block-level continuation
983+ fragment may be placed below the top of the page if, e.g. it establishes
984+ a block formatting context root that is placed beside a float and both
985+ continue onto a narrower page that is too narrow to hold both of them
986+ side-by-side.
987+
988+ < li > < strong class =issue > Option B:</ strong > Content adjacent to a preceding
989+ float on one page may wind up above the float on the next page if, e.g.
990+ that float is pushed down because it no longer fits side-by-side with an
991+ earlier float that also continues to this narrower page.
950992 </ ul >
951993
952994 < div class =example >
@@ -984,11 +1026,16 @@ <h3 id=breaking-boxes><span class=secno>4.6. </span> Box Model for Breaking</h3>
9841026 before the break are truncated, but margins after the break are preserved.
9851027
9861028
987- < p > When a break splits a box, the box's bottom margins, borders, and
988- padding have no visual effect where the split occurs; the box's background
989- and left and right margins, border, and padding extend to the bottom of
990- the page, through an ensuing blank page if one exists, and onto the top of
991- the subsequent page.
1029+ < p > When a break splits a box, the ‘< code
1030+ class =property > box-decoration-break</ code > ’ property controls
1031+ whether the box's margins, borders, and padding wrap the fragment effect
1032+ where the split occurs. If they do not (i.e. ‘< code
1033+ class =css > slice</ code > ’ is specified), the box's background and side
1034+ margins, border, and padding extend from the effective break point to the
1035+ end of the fragmenter (and across the ensuing blank fragmenter if one is
1036+ generated due to ‘< code class =css > left</ code > ’ or ‘< code
1037+ class =css > right</ code > ’ breaking). < span class =issue > Does this use
1038+ up height?</ span >
9921039
9931040 < h2 id =conformance > < span class =secno > 5. </ span > Conformance</ h2 >
9941041
@@ -1237,6 +1284,16 @@ <h3 class=no-num id=other-references>Other references</h3>
12371284 < dt style ="display: none "> <!-- keeps the doc valid if the DL is empty -->
12381285 <!---->
12391286
1287+ < dt id =CSS3-WRITING-MODES > [CSS3-WRITING-MODES]
1288+
1289+ < dd > Elika J. Etemad; Koji Ishii; Shinyu Murakami. < a
1290+ href ="http://www.w3.org/TR/2011/WD-css3-writing-modes-20110901/ "> < cite > CSS
1291+ Writing Modes Module Level 3.</ cite > </ a > 1 September 2011. W3C Working
1292+ Draft. (Work in progress.) URL: < a
1293+ href ="http://www.w3.org/TR/2011/WD-css3-writing-modes-20110901/ "> http://www.w3.org/TR/2011/WD-css3-writing-modes-20110901/</ a >
1294+ </ dd >
1295+ <!---->
1296+
12401297 < dt id =CSS3COLOR > [CSS3COLOR]
12411298
12421299 < dd > Tantek Çelik; Chris Lilley; L. David Baron. < a
0 commit comments