Skip to content

Commit ac0a99c

Browse files
committed
[css-break] Clarify that different classes of break points do not have different priorities
1 parent f5f30b0 commit ac0a99c

4 files changed

Lines changed: 73 additions & 48 deletions

File tree

css-break/Overview.html

Lines changed: 39 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -825,7 +825,7 @@ <h3 id=possible-breaks><span class=secno>4.1. </span> Possible Break Points</h3>
825825
block-and-inline flow, breaks may occur at the following places:
826826

827827
<dl>
828-
<dt id=btw-blocks>Class 1
828+
<dt id=btw-blocks>Class A
829829

830830
<dd> Between sibling boxes of the following types:
831831
<dl>
@@ -842,20 +842,22 @@ <h3 id=possible-breaks><span class=secno>4.1. </span> Possible Break Points</h3>
842842
boxes, table column boxes, multi-column column boxes
843843
</dl>
844844

845-
<dt id=btw-lines>Class 2
845+
<dt id=btw-lines>Class B
846846

847847
<dd> Between line boxes inside a block container box.
848848

849-
<dt id=end-block>Class 3
849+
<dt id=end-block>Class C
850850

851851
<dd> Between the content edge of a block container box and the outer edges
852852
of its child content (margin edges of block-level children or line box
853853
edges for inline-level children) <em>if</em> there is a (non-zero) gap
854854
between them.
855855
</dl>
856856

857-
<p class=note> Other layout models may add breakpoints to the above
858-
classes.
857+
<p class=note> There is no inherent prioritization among these classes of
858+
break points. However, individual break points may be prioritized or
859+
de-prioritized by using the <a href="#breaking-controls">breaking
860+
controls</a>.
859861

860862
<p id=monolithic-breaking> The UA is not required to fragment the contents
861863
of <a href="#monolithic"><i>monolithic</i></a> elements, and may instead
@@ -870,6 +872,11 @@ <h3 id=possible-breaks><span class=secno>4.1. </span> Possible Break Points</h3>
870872
the page, and not all the content fits, the UA may break anywhere in order
871873
to avoid losing content off the edge of the page.
872874

875+
<p class=note> Other layout models may add breakpoints to the above
876+
classes. For example, <a href="#CSS3-FLEXBOX"
877+
rel=biblioentry>[CSS3-FLEXBOX]<!--{{CSS3-FLEXBOX}}--></a> adds certain
878+
points within a flex formatting context to classes A and C.
879+
873880
<h3 id=break-types><span class=secno>4.2. </span> Types of Breaks</h3>
874881

875882
<p> There are different types of breaks in CSS, defined based on the type
@@ -918,7 +925,7 @@ <h3 id=forced-breaks><span class=secno>4.3. </span> Forced Breaks</h3>
918925

919926
<p> A <dfn id=forced-break>forced break</dfn> is one explicitly indicated
920927
by the style sheet author. A <a href="#forced-break"><i>forced
921-
break</i></a> occurs at a <a href="#btw-blocks">Class 1 break point</a>
928+
break</i></a> occurs at a <a href="#btw-blocks">class A break point</a>
922929
if, among the ‘<a href="#break-after"><code
923930
class=property>break-after</code></a>’ properties specified on or
924931
propagated to the earlier sibling box and the ‘<a
@@ -938,9 +945,9 @@ <h3 id=forced-breaks><span class=secno>4.3. </span> Forced Breaks</h3>
938945
class=css>recto</code>’, and/or ‘<code class=css>verso</code>’ are
939946
combined, the value specified on the latest element in the flow wins.
940947

941-
<p class=note> A page break must also occur at <a
942-
href="#btw-blocks">(1)</a> if the last line box above this margin and the
943-
first one below it do not have the same value for ‘<code
948+
<p class=note> A page break must also occur at a <a
949+
href="#btw-blocks">class A break point</a> if the last line box above this
950+
margin and the first one below it do not have the same value for ‘<code
944951
class=property>page</code>’. See <a href="#CSS3PAGE"
945952
rel=biblioentry>[CSS3PAGE]<!--{{!CSS3PAGE}}--></a>
946953

@@ -961,49 +968,49 @@ <h3 id=unforced-breaks><span class=secno>4.4. </span> Unforced Breaks</h3>
961968
break point</a> is allowed:
962969

963970
<dl>
964-
<dt>Rule A
971+
<dt>Rule 1
965972

966-
<dd> A fragmented flow may break at <a href="#btw-blocks">(1)</a> only if
967-
all the ‘<a href="#break-after"><code
973+
<dd> A fragmented flow may break at a <a href="#btw-blocks">class A break
974+
point</a> only if all the ‘<a href="#break-after"><code
968975
class=property>break-after</code></a>’ and ‘<a
969976
href="#break-before"><code class=property>break-before</code></a>
970977
values applicable to this break point allow it, which is when at least
971978
one of them forces a break or when all of them are ‘<code
972979
class=css>auto</code>’.
973980

974-
<dt>Rule B
981+
<dt>Rule 2
975982

976983
<dd> However, if all of them are ‘<code class=css>auto</code>’ and a
977984
common ancestor of all the elements has a ‘<a
978985
href="#break-inside"><code class=property>break-inside</code></a>
979986
value of ‘<code class=css>avoid</code>’, then breaking here is not
980987
allowed.
981988

982-
<dt>Rule C
989+
<dt>Rule 3
983990

984-
<dd> Breaking at <a href="#btw-lines">(2)</a> is allowed only if the
985-
number of line boxes between the break and the start of the enclosing
986-
block box is the value of ‘<a href="#orphans"><code
991+
<dd> Breaking at a <a href="#btw-lines">class B break point</a> is allowed
992+
only if the number of line boxes between the break and the start of the
993+
enclosing block box is the value of ‘<a href="#orphans"><code
987994
class=property>orphans</code></a>’ or more, and the number of line
988995
boxes between the break and the end of the box is the value of ‘<a
989996
href="#widows"><code class=property>widows</code></a>’ or more.
990997

991-
<dt>Rule D
998+
<dt>Rule 4
992999

993-
<dd> Additionally, breaking at <a href="#btw-blocks">(2)</a> or <a
994-
href="#end-block">(3)</a> is allowed only if the ‘<a
1000+
<dd> Additionally, breaking at <a href="#btw-blocks">class B</a> or <a
1001+
href="#end-block">class C</a> break points is allowed only if the ‘<a
9951002
href="#break-inside"><code class=property>break-inside</code></a>
9961003
property of all ancestors is ‘<code class=css>auto</code>’.
9971004
</dl>
9981005

9991006
<p> If the above doesn't provide enough break points to keep content from
1000-
overflowing the page boxes, then rules A, B and D are dropped in order to
1007+
overflowing the page boxes, then rules 1, 2 and 4 are dropped in order to
10011008
find additional breakpoints. In this case the UA may use the ‘<code
10021009
class=css>avoid</code>’s that are in effect at those points to weigh the
10031010
appropriateness of the new breakpoints; however, this specification does
10041011
not suggest a precise algorithm.
10051012

1006-
<p> If that still does not lead to sufficient break points, rule C is
1013+
<p> If that still does not lead to sufficient break points, rule 3 is
10071014
dropped as well, to find still more break points.
10081015

10091016
<h3 id=best-breaks><span class=secno>4.5. </span> Optimizing Unforced
@@ -1575,6 +1582,16 @@ <h3 class=no-num id=other-references>Other references</h3>
15751582
<dd style="display: none"><!-- keeps the doc valid if the DL is empty -->
15761583
<!---->
15771584

1585+
<dt id=CSS3-FLEXBOX>[CSS3-FLEXBOX]
1586+
1587+
<dd>Tab Atkins Jr.; Elika J. Etemad; Alex Mogilevsky. <a
1588+
href="http://www.w3.org/TR/2012/CR-css3-flexbox-20120918/"><cite>CSS
1589+
Flexible Box Layout Module.</cite></a> 18 September 2012. W3C Candidate
1590+
Recommendation. (Work in progress.) URL: <a
1591+
href="http://www.w3.org/TR/2012/CR-css3-flexbox-20120918/">http://www.w3.org/TR/2012/CR-css3-flexbox-20120918/</a>
1592+
</dd>
1593+
<!---->
1594+
15781595
<dt id=CSS3-SIZING>[CSS3-SIZING]
15791596

15801597
<dd>Tab Atkins Jr.; Elika J. Etemad. <a

css-break/Overview.src.html

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,7 @@ <h3 id="possible-breaks">
555555
In block-and-inline flow, breaks may occur at the following places:
556556
</p>
557557
<dl>
558-
<dt id="btw-blocks">Class 1</dt>
558+
<dt id="btw-blocks">Class A</dt>
559559
<dd>
560560
Between sibling boxes of the following types:
561561
<dl>
@@ -574,11 +574,11 @@ <h3 id="possible-breaks">
574574
table column group boxes, table column boxes, multi-column column boxes
575575
</dd>
576576
</dl>
577-
<dt id="btw-lines">Class 2</dt>
577+
<dt id="btw-lines">Class B</dt>
578578
<dd>
579579
Between line boxes inside a block container box.
580580
</dd>
581-
<dt id="end-block">Class 3</dt>
581+
<dt id="end-block">Class C</dt>
582582
<dd>
583583
Between the content edge of a block container box and the outer edges of its
584584
child content (margin edges of block-level children or line box
@@ -588,8 +588,9 @@ <h3 id="possible-breaks">
588588
</dl>
589589

590590
<p class="note">
591-
Other layout models may add breakpoints to the above classes.
592-
</p>
591+
There is no inherent prioritization among these classes of break points.
592+
However, individual break points may be prioritized or de-prioritized
593+
by using the <a href="#breaking-controls">breaking controls</a>.
593594

594595
<p id=monolithic-breaking>
595596
The UA is not required to fragment the contents of <i>monolithic</i> elements,
@@ -601,12 +602,19 @@ <h3 id="possible-breaks">
601602
if there are no <a href="#possible-breaks">possible break points</a>
602603
on the fragmentainer.
603604
</p>
605+
604606
<p>
605607
When paginating, if there are no possible break points below the top
606608
of the page, and not all the content fits, the UA may break anywhere
607609
in order to avoid losing content off the edge of the page.
608610
</p>
609611

612+
<p class="note">
613+
Other layout models may add breakpoints to the above classes.
614+
For example, [[CSS3-FLEXBOX]] adds certain points within a flex formatting context
615+
to classes A and C.
616+
</p>
617+
610618
<h3 id="break-types">
611619
Types of Breaks</h3>
612620

@@ -655,7 +663,7 @@ <h3 id="forced-breaks">
655663

656664
<p>
657665
A <dfn>forced break</dfn> is one explicitly indicated by the style sheet author.
658-
A <i>forced break</i> occurs at a <a href="#btw-blocks">Class 1 break point</a> if,
666+
A <i>forced break</i> occurs at a <a href="#btw-blocks">class A break point</a> if,
659667
among the 'break-after' properties specified on or propagated to the earlier sibling box
660668
and the 'break-before' properties specified on or propagated to the later sibling box
661669
there is at least one with a <i>forced break value</i>.
@@ -672,7 +680,7 @@ <h3 id="forced-breaks">
672680
the value specified on the latest element in the flow wins.
673681
</p>
674682
<p class="note">
675-
A page break must also occur at <a href="#btw-blocks">(1)</a>
683+
A page break must also occur at a <a href="#btw-blocks">class A break point</a>
676684
if the last line box above this margin and the first one below it do not have the
677685
same value for 'page'. See [[!CSS3PAGE]]
678686
</p>
@@ -696,43 +704,43 @@ <h3 id="unforced-breaks">
696704
at a <a href="#possible-breaks">possible break point</a> is allowed:
697705
</p>
698706
<dl>
699-
<dt>Rule A</dt>
707+
<dt>Rule 1</dt>
700708
<dd>
701-
A fragmented flow may break at <a href="#btw-blocks">(1)</a> only if
709+
A fragmented flow may break at a <a href="#btw-blocks">class A break point</a> only if
702710
all the 'break-after' and 'break-before' values applicable to this
703711
break point allow it, which is when at least one of them forces a
704712
break or when all of them are ''auto''.
705713
</dd>
706-
<dt>Rule B</dt>
714+
<dt>Rule 2</dt>
707715
<dd>
708716
However, if all of them are ''auto'' and a common ancestor of all
709717
the elements has a 'break-inside' value of ''avoid'', then breaking
710718
here is not allowed.
711719
</dd>
712-
<dt>Rule C</dt>
720+
<dt>Rule 3</dt>
713721
<dd>
714-
Breaking at <a href="#btw-lines">(2)</a> is allowed only if the number
722+
Breaking at a <a href="#btw-lines">class B break point</a> is allowed only if the number
715723
of line boxes between the break and the start of the enclosing block
716724
box is the value of 'orphans' or more, and the number of line boxes
717725
between the break and the end of the box is the value of 'widows' or more.
718726
</dd>
719-
<dt>Rule D</dt>
727+
<dt>Rule 4</dt>
720728
<dd>
721-
Additionally, breaking at <a href="#btw-blocks">(2)</a> or
722-
<a href="#end-block">(3)</a> is allowed only if the 'break-inside'
723-
property of all ancestors is ''auto''.
729+
Additionally, breaking at <a href="#btw-blocks">class B</a> or
730+
<a href="#end-block">class C</a> break points
731+
is allowed only if the 'break-inside' property of all ancestors is ''auto''.
724732
</dd>
725733
</dl>
726734
<p>
727735
If the above doesn't provide enough break points to keep content from
728-
overflowing the page boxes, then rules A, B and D are dropped in order
736+
overflowing the page boxes, then rules 1, 2 and 4 are dropped in order
729737
to find additional breakpoints.
730738
In this case the UA may use the ''avoid''s that are in effect at those
731739
points to weigh the appropriateness of the new breakpoints; however,
732740
this specification does not suggest a precise algorithm.
733741
</p>
734742
<p>
735-
If that still does not lead to sufficient break points, rule C is
743+
If that still does not lead to sufficient break points, rule 3 is
736744
dropped as well, to find still more break points.
737745
</p>
738746

css-flexbox/Overview.src.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2451,11 +2451,11 @@ <h2 id="pagination">
24512451

24522452
<li>
24532453
In a row flex container,
2454-
<a href="http://www.w3.org/TR/css3-break/#btw-blocks">Class 1 break opportunities</a> occur between sibling flex lines,
2455-
and <a href="http://www.w3.org/TR/css3-break/#end-block">Class 3 break opportunities</a> occur between the first/last flex line and the flex container's content edges.
2454+
<a href="http://www.w3.org/TR/css3-break/#btw-blocks">Class A break opportunities</a> occur between sibling flex lines,
2455+
and <a href="http://www.w3.org/TR/css3-break/#end-block">Class C break opportunities</a> occur between the first/last flex line and the flex container's content edges.
24562456
In a column flex container,
2457-
<a href="http://www.w3.org/TR/css3-break/#btw-blocks">Class 1 break opportunities</a> occur between sibling flex items,
2458-
and <a href="http://www.w3.org/TR/css3-break/#end-block">Class 3 break opportunities</a> occur between the first/last flex items on a line and the flex container's content edges.
2457+
<a href="http://www.w3.org/TR/css3-break/#btw-blocks">Class A break opportunities</a> occur between sibling flex items,
2458+
and <a href="http://www.w3.org/TR/css3-break/#end-block">Class C break opportunities</a> occur between the first/last flex items on a line and the flex container's content edges.
24592459
[[!CSS3-BREAK]]
24602460

24612461
<li>
@@ -2793,4 +2793,4 @@ <h2 class="no-num" id="changes">Changes</h2>
27932793
Clarified where zero-main-size flex items go when they're at the end of a line.
27942794
</ul>
27952795

2796-
<p>A <a href="http://dev.w3.org/csswg/css3-flexbox/issues-cr-2012">Disposition of Candidate Recommendation Comments</a> is available.
2796+
<p>A <a href="http://dev.w3.org/csswg/css3-flexbox/issues-cr-2012">Disposition of Candidate Recommendation Comments</a> is available.

css-page/Overview.src.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2101,7 +2101,7 @@ <h3 id="using-named-pages">Using named pages: 'page'</h3>
21012101
<td>auto
21022102
<tr>
21032103
<th>Applies to:
2104-
<td>boxes that create <a href="http://www.w3.org/TR/css3-break/#btw-blocks">class 1</a> break points
2104+
<td>boxes that create <a href="http://www.w3.org/TR/css3-break/#btw-blocks">class A</a> break points
21052105
<tr>
21062106
<th>Inherited:
21072107
<td>no (but see prose)
@@ -2184,7 +2184,7 @@ <h3 id="using-named-pages">Using named pages: 'page'</h3>
21842184
The first printed page’s type is the <i>start 'page' value</i> of the root.
21852185

21862186
<li>
2187-
If for any two boxes meeting at a <a href="http://www.w3.org/TR/css3-break/#btw-blocks">Class 1</a> break point,
2187+
If for any two boxes meeting at a <a href="http://www.w3.org/TR/css3-break/#btw-blocks">class A</a> break point,
21882188
the <i>end 'page' value</i> of the box preceding the break
21892189
and <i>start 'page' value</i> of the box succeeding the break
21902190
do not match,
@@ -2194,7 +2194,7 @@ <h3 id="using-named-pages">Using named pages: 'page'</h3>
21942194

21952195
<p class="note">
21962196
Essentially, the two 'page' values compared are those from the deepest boxes
2197-
meeting at the class 1 break point,
2197+
meeting at the <a href="http://www.w3.org/TR/css3-break/#btw-blocks">class A break point</a>,
21982198
ignoring any subtrees rooted by boxes to which the 'page' property does not apply.
21992199

22002200
<p>See [[!CSS3-BREAK]] for additional details on page breaks.

0 commit comments

Comments
 (0)