Skip to content

Commit 0d5f41a

Browse files
committed
fragmenter -> fragmentainer. Want a better term? Suggest one. :)
1 parent 4402071 commit 0d5f41a

2 files changed

Lines changed: 123 additions & 111 deletions

File tree

css3-break/Overview.html

Lines changed: 84 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ <h2 class="no-num no-toc" id=contents> Table of contents</h2>
178178
Breaking</a>
179179
<ul class=toc>
180180
<li><a href="#varying-size-boxes"><span class=secno>5.1. </span>
181-
Breaking into Varying-size Fragmenters</a>
181+
Breaking into Varying-size Fragmentainers</a>
182182

183183
<li><a href="#break-margins"><span class=secno>5.2. </span> Margins at
184184
Breaks</a>
@@ -245,9 +245,10 @@ <h2 id=intro><span class=secno>1. </span> Introduction</h2>
245245
href="#CSS3COL" rel=biblioentry>[CSS3COL]<!--{{CSS3COL}}--></a> create a
246246
similarly fragmented environment. The generic term for breaking content
247247
across containers is <dfn id=fragmentation>fragmentation</dfn>. This
248-
module explains how content breaks across <i>fragmenters</i> such as pages
249-
and columns and how such breaks can be <a
250-
href="#breaking-controls">controlled by the author</a>.
248+
module explains how content breaks across <a
249+
href="#fragmentainer"><i>fragmentainers</i></a> such as pages and columns
250+
and how such breaks can be <a href="#breaking-controls">controlled by the
251+
author</a>.
251252

252253
<h3 id=placement><span class=secno>1.1. </span> Module Interactions</h3>
253254

@@ -289,20 +290,22 @@ <h2 id=fragmentation-model><span class=secno>2. </span> Fragmentation Model
289290
chain of <a href="http://www.w3.org/TR/css3-regions">CSS regions</a>, or
290291
a <a href="http://www.w3.org/TR/css3-page/">paged media display</a>.
291292

292-
<dt><dfn id=fragmentation-container>fragmentation container</dfn>
293+
<dt><dfn id=fragmentation-container>fragmentation container</dfn> (<dfn
294+
id=fragmentainer>fragmentainer</dfn>)
293295

294296
<dd> A box&mdash;such as a page box, column box, or region&mdash;that
295297
contains a portion (or all) of a <a href="#fragmented-flow"><i>fragmented
296-
flow</i></a>. Fragmenters can be pre-defined, or generated as needed.
297-
When breakable content overflows a fragmenter in the block dimension,
298+
flow</i></a>. Fragmentainers can be pre-defined, or generated as needed.
299+
When breakable content overflows a fragmentainer in the block dimension,
298300
instead of overflowing it breaks into the next container in its <a
299301
href="#fragmentation-context"><i>fragmentation context</i></a>.
300302

301303
<dt><dfn id=fragmentation-context>fragmentation context</dfn>
302304

303-
<dd> An ordered series of <i>fragmenters</i>. A given fragmentation
305+
<dd> An ordered series of <a
306+
href="#fragmentainer"><i>fragmentainers</i></a>. A given fragmentation
304307
context can only have one block flow direction across all its
305-
fragmenters.
308+
fragmentainers.
306309

307310
<dt><dfn id=fragmentation-direction>fragmentation direction</dfn>
308311

@@ -311,37 +314,41 @@ <h2 id=fragmentation-model><span class=secno>2. </span> Fragmentation Model
311314

312315
<dt><dfn id=fragmentation0>fragmentation</dfn>
313316

314-
<dd> The process of splitting a content flow across the <i>fragmenters</i>
315-
that form a <a href="#fragmentation-context"><i>fragmentation
316-
context</i></a>.
317+
<dd> The process of splitting a content flow across the <a
318+
href="#fragmentainer"><i>fragmentainers</i></a> that form a <a
319+
href="#fragmentation-context"><i>fragmentation context</i></a>.
317320

318321
<dt><dfn id=box-fragment>box fragment</dfn> or <dfn
319322
id=fragment>fragment</dfn>
320323

321-
<dd> The portion of a box that belongs to exactly one <i>fragmenter</i>. A
322-
box in continuous flow always consists of only one fragment. A box in a
323-
fragmented flow consists of one or more fragments.
324+
<dd> The portion of a box that belongs to exactly one <a
325+
href="#fragmentainer"><i>fragmentainer</i></a>. A box in continuous flow
326+
always consists of only one fragment. A box in a fragmented flow consists
327+
of one or more fragments.
324328

325-
<dt><dfn id=available-fragmenter-extent>available fragmenter extent</dfn>
329+
<dt><dfn id=available-fragmentainer-extent>available fragmentainer
330+
extent</dfn>
326331

327-
<dd> The remaining extent on the fragmenter available to a given element,
328-
i.e. between the end of preceding content on fragmenter and the edge of
329-
the fragmenter.
332+
<dd> The remaining extent on the fragmentainer available to a given
333+
element, i.e. between the end of preceding content on fragmentainer and
334+
the edge of the fragmentainer.
330335
</dl>
331336

332337
<p> Each <dfn id=fragmentation-break>fragmentation break</dfn> (hereafter,
333338
<dfn id=break>break</dfn>) ends layout of the fragmented box in the
334-
current <i>fragmenter</i> and causes the remaining content to be laid out
335-
in the next <i>fragmenter</i>, in some cases causing a new fragmenter to
336-
be generated to hold the deferred content. When multiple flows are laid
337-
out in parallel, fragmentation is performed independently in each flow.
338-
339-
<p> Breaking a fragmenter F effectively splits the fragmenter into two
340-
fragmenters (F<sub>1</sub> and F<sub>2</sub>). The only difference is that
341-
the type of break between the two pieces F<sub>1</sub> and F<sub>2</sub>
342-
is the <a href="#break-types">type of break</a> created by the
343-
fragmentation context that split F, not the type of break normally created
344-
by F's own fragmentation context.
339+
current <a href="#fragmentainer"><i>fragmentainer</i></a> and causes the
340+
remaining content to be laid out in the next <a
341+
href="#fragmentainer"><i>fragmentainer</i></a>, in some cases causing a
342+
new fragmentainer to be generated to hold the deferred content. When
343+
multiple flows are laid out in parallel, fragmentation is performed
344+
independently in each flow.
345+
346+
<p> Breaking a fragmentainer F effectively splits the fragmentainer into
347+
two fragmentainers (F<sub>1</sub> and F<sub>2</sub>). The only difference
348+
is that the type of break between the two pieces F<sub>1</sub> and
349+
F<sub>2</sub> is the <a href="#break-types">type of break</a> created by
350+
the fragmentation context that split F, not the type of break normally
351+
created by F's own fragmentation context.
345352

346353
<p class=note> Breaking inline content into lines is another form of
347354
fragmentation, and similarly creates box fragments when it breaks <a
@@ -698,7 +705,7 @@ <h3 id=widows-orphans><span class=secno>3.2. </span> Breaks inside
698705

699706
<h2 id=breaking-rules><span class=secno>4. </span> Rules for Breaking</h2>
700707

701-
<p> A fragmented flow may be broken across fragmenters at a number of <a
708+
<p> A fragmented flow may be broken across fragmentainers at a number of <a
702709
href="#possible-breaks">possible break points</a>. In the case of <a
703710
href="#forced-breaks">forced breaks</a>, the UA is required to break the
704711
flow at that point. In the case of <a href="#unforced-breaks">unforced
@@ -756,11 +763,11 @@ <h3 id=possible-breaks><span class=secno>4.1. </span> Possible Break Points</h3>
756763
class=css>auto</code>&rsquo; or &lsquo;<code
757764
class=css>scroll</code>&rsquo;), and may instead either slice the
758765
element's graphical representation as necessary to fragment it or treat
759-
its box as monolithic (unbreakable) and overflow the fragmenter. In both
760-
cases it must treat the element as having &lsquo;<code
766+
its box as monolithic (unbreakable) and overflow the fragmentainer. In
767+
both cases it must treat the element as having &lsquo;<code
761768
class=css>break-inside: avoid</code>&rsquo;, i.e. only slice or overflow
762-
at the fragmenter edge if there are no <a href="#possible-breaks">possible
763-
break points</a> on the fragmenter.
769+
at the fragmentainer edge if there are no <a
770+
href="#possible-breaks">possible break points</a> on the fragmentainer.
764771

765772
<p> When paginating, if there are no possible break points below the top of
766773
the page, and not all the content fits, the UA may break anywhere in order
@@ -769,7 +776,7 @@ <h3 id=possible-breaks><span class=secno>4.1. </span> Possible Break Points</h3>
769776
<h3 id=break-types><span class=secno>4.2. </span> Types of Breaks</h3>
770777

771778
<p> There are different types of breaks in CSS, defined based on the type
772-
of fragmenters they span:
779+
of fragmentainers they span:
773780

774781
<dl>
775782
<dt><dfn id=page-break>page break</dfn>
@@ -891,17 +898,17 @@ <h3 id=best-breaks><span class=secno>4.5. </span> Optimizing Unforced
891898
Breaks</h3>
892899

893900
<p>While CSS3 requires that a fragmented flow must break at allowed break
894-
points in order to avoid overflowing the fragmenters in its fragmentation
895-
context, it does not define whether content breaks at a particular <a
896-
href="#unforced-breaks">allowed break</a>. However, it is recommended that
897-
user agents observe the following guidelines (while recognizing that they
898-
are sometimes contradictory):
901+
points in order to avoid overflowing the fragmentainers in its
902+
fragmentation context, it does not define whether content breaks at a
903+
particular <a href="#unforced-breaks">allowed break</a>. However, it is
904+
recommended that user agents observe the following guidelines (while
905+
recognizing that they are sometimes contradictory):
899906

900907
<ul>
901908
<li>Break as few times as possible.
902909

903-
<li>Make all fragmenters that don't end with a forced break appear to be
904-
equally filled with content.
910+
<li>Make all fragmentainers that don't end with a forced break appear to
911+
be equally filled with content.
905912

906913
<li>Avoid breaking inside a replaced element.
907914
</ul>
@@ -955,34 +962,35 @@ <h2 id=breaking-boxes><span class=secno>5. </span> Box Model for Breaking</h2>
955962
rel=biblioentry>[CSS3-WRITING-MODES]<!--{{CSS3-WRITING-MODES}}--></a>.
956963

957964
<h3 id=varying-size-boxes><span class=secno>5.1. </span> Breaking into
958-
Varying-size Fragmenters</h3>
965+
Varying-size Fragmentainers</h3>
959966

960-
<p> When a flow is fragmented into varying-size fragmenters, the following
961-
rules are observed for adapting layout:
967+
<p> When a flow is fragmented into varying-size fragmentainers, the
968+
following rules are observed for adapting layout:
962969

963970
<ul>
964971
<li> Intrinsic sizes are calculated and maintained across the entire
965972
element. Where an initial containing block size is needed to resolve an
966-
intrinsic size, assume the size of the first fragmenter defining a
973+
intrinsic size, assume the size of the first fragmentainer defining a
967974
pagination context.
968975

969-
<li> Layout is performed per-fragmenter, with each fragmenter continuing
970-
progress from the breakpoint on the previous, but recalculating sizes and
971-
positions using its own size as if the entire element were fragmented
972-
across fragmenters of this size. Progress is measured in percentages (not
973-
absolute lengths) of used/available fragmenter extent and in amount of
974-
used/remaining content. However, when laying out scrollable elements and
975-
certain replaced elements the UA may instead maintain a consistent
976-
measure and resolved extent across fragmenters.
976+
<li> Layout is performed per-fragmentainer, with each fragmentainer
977+
continuing progress from the breakpoint on the previous, but
978+
recalculating sizes and positions using its own size as if the entire
979+
element were fragmented across fragmentainers of this size. Progress is
980+
measured in percentages (not absolute lengths) of used/available
981+
fragmentainer extent and in amount of used/remaining content. However,
982+
when laying out scrollable elements and certain replaced elements the UA
983+
may instead maintain a consistent measure and resolved extent across
984+
fragmentainers.
977985

978986
<li><strong class=issue>Option A:</strong> Fragments of boxes that began
979-
on a previous fragmenter must start at the top of the new fragmenter. If
980-
this results in multiple boxes side-by-side that would otherwise be
981-
staggered (if they were not continuations) in order to fit, the elements'
982-
widths are reduced (on that fragmenter only) in proportion to their
983-
original widths until they fit. However they are not reduced past their
984-
min-content width or in case the width copmutes to a non-percent length
985-
value.
987+
on a previous fragmentainer must start at the top of the new
988+
fragmentainer. If this results in multiple boxes side-by-side that would
989+
otherwise be staggered (if they were not continuations) in order to fit,
990+
the elements' widths are reduced (on that fragmentainer only) in
991+
proportion to their original widths until they fit. However they are not
992+
reduced past their min-content width or in case the width copmutes to a
993+
non-percent length value.
986994
<div class=figure>
987995
<pre>First page
988996
<!-- -->+----------------------------------+
@@ -1024,11 +1032,11 @@ <h3 id=varying-size-boxes><span class=secno>5.1. </span> Breaking into
10241032
</div>
10251033

10261034
<li><strong class=issue>Option B:</strong> Fragments of boxes that began
1027-
on a previous fragmenter must obey placement rules with the additional
1035+
on a previous fragmentainer must obey placement rules with the additional
10281036
constraint that fragments must not be positioned above the before edge of
1029-
the fragmenter and must otherwise be placed as high as possible while not
1030-
violating other constraints. If this results in a box's continuation
1031-
fragment shifting away from the before edge of the fragmenter, then
1037+
the fragmentainer and must otherwise be placed as high as possible while
1038+
not violating other constraints. If this results in a box's continuation
1039+
fragment shifting away from the before edge of the fragmentainer, then
10321040
&lsquo;<code class=css>box-decoration-break: clone</code>&rsquo;, if
10331041
specified, wraps the fragment with the box's margin in addition to its
10341042
padding and border.
@@ -1149,10 +1157,10 @@ <h3 id=break-decoration><span class=secno>5.3. </span> Decorating Box
11491157
where the split occurs. If they do not (i.e. &lsquo;<code
11501158
class=css>slice</code>&rsquo; is specified), the box's background and side
11511159
margins, border, and padding extend from the effective break point to the
1152-
end of the fragmenter (and across the ensuing blank fragmenter if one is
1153-
generated due to &lsquo;<code class=css>left</code>&rsquo; or &lsquo;<code
1154-
class=css>right</code>&rsquo; breaking). <span class=issue>Does this use
1155-
up height?</span>
1160+
end of the fragmentainer (and across the ensuing blank fragmentainer if
1161+
one is generated due to &lsquo;<code class=css>left</code>&rsquo; or
1162+
&lsquo;<code class=css>right</code>&rsquo; breaking). <span
1163+
class=issue>Does this use up height?</span>
11561164

11571165
<h2 id=conformance><span class=secno>6. </span> Conformance</h2>
11581166

@@ -1449,8 +1457,9 @@ <h2 class=no-num id=index>Index</h2>
14491457
<li>authoring tool, <a href="#authoring-tool"
14501458
title="authoring tool"><strong>6.2.</strong></a>
14511459

1452-
<li>available fragmenter extent, <a href="#available-fragmenter-extent"
1453-
title="available fragmenter extent"><strong>2.</strong></a>
1460+
<li>available fragmentainer extent, <a
1461+
href="#available-fragmentainer-extent"
1462+
title="available fragmentainer extent"><strong>2.</strong></a>
14541463

14551464
<li>avoid break values, <a href="#avoid-break-values"
14561465
title="avoid break values"><strong>3.1.</strong></a>
@@ -1477,6 +1486,9 @@ <h2 class=no-num id=index>Index</h2>
14771486

14781487
<li>fragment, <a href="#fragment" title=fragment><strong>2.</strong></a>
14791488

1489+
<li>fragmentainer, <a href="#fragmentainer"
1490+
title=fragmentainer><strong>2.</strong></a>
1491+
14801492
<li>fragmentation, <a href="#fragmentation"
14811493
title=fragmentation><strong>1.</strong></a>, <a href="#fragmentation0"
14821494
title=fragmentation><strong>2.</strong></a>

0 commit comments

Comments
 (0)