diff --git a/css-break/Overview.bs b/css-break/Overview.bs index 3cff3f3334b..eb17a4ec442 100644 --- a/css-break/Overview.bs +++ b/css-break/Overview.bs @@ -16,7 +16,6 @@ Abstract: This module describes the fragmentation model that partitions a flow Abstract: It builds on the Page model module and introduces and defines the fragmentation model. Abstract: It adds functionality for pagination, breaking variable fragment size and orientation, widows and orphans. Ignored Terms: background positioning area, region chain, … message topic …, reference box -Use Autolinks: yes At Risk: the ''region'' and ''break-after/avoid-region'' values of 'break-*' @@ -40,8 +39,8 @@ Introduction and multi-column layout [[CSS3COL]] create a similarly fragmented environment. The generic term for breaking content across containers is - fragmentation. - This module explains how content breaks across fragmentation containers (fragmentainers) + fragmentation. + This module explains how content breaks across fragmentation containers (fragmentainers) such as pages and columns and how such breaks can be controlled by the author.
@@ -59,7 +58,7 @@ Module InteractionsEach fragmentation break (hereafter, break) - ends layout of the fragmented box in the current fragmentainer - and causes the remaining content to be laid out in the next fragmentainer, - in some cases causing a new fragmentainer to be generated + ends layout of the fragmented box in the current fragmentainer + and causes the remaining content to be laid out in the next fragmentainer, + in some cases causing a new fragmentainer to be generated to hold the deferred content.
@@ -178,24 +177,24 @@ Parallel Fragmentation Flows Content overflowing the content edge of a fixed-size box is considered parallel to the content after the fixed-size box and follows the normal fragmentation rules. - Although overflowing content doesn't affect the size of the fragmentation root box, - it does increase the length of the fragmented flow, - spilling into or generating additional fragmentainers as necessary. + Although overflowing content doesn't affect the size of the fragmentation root box, + it does increase the length of the fragmented flow, + spilling into or generating additional fragmentainers as necessary.- Breaking a fragmentainer F effectively splits the fragmentainer - into two fragmentainers (F1 and F2). + Breaking a fragmentainer F effectively splits the fragmentainer + into two fragmentainers (F1 and F2). The only difference is that, - with regards to the content of fragmentainer F, + with regards to the content of fragmentainer F, the type of break between the two pieces F1 and F2 is the type of break created - by the fragmentation context that split F, - not the type of break normally created by F’s own fragmentation context. + by the fragmentation context that split F, + not the type of break normally created by F’s own fragmentation context.
- The following sections explain how breaks are controlled in a fragmented flow. + The following sections explain how breaks are controlled in a fragmented flow. A page/column/region break opportunity between two boxes is under the influence of the containing block's 'break-inside' property, @@ -268,7 +267,7 @@ Breaks Between Boxes: the 'break-before' and 'break-after' properties
Values for 'break-before' and 'break-after' are defined in the sub-sections below. - User Agents must apply these properties to boxes in the normal flow of the fragmentation root. + User Agents must apply these properties to boxes in the normal flow of the fragmentation root. User agents should also apply these properties to floated boxes whose containing block is in the normal flow of the root fragmented element. User agents may also apply these properties to other boxes. @@ -320,13 +319,13 @@ Page Break Values
The 'orphans' property specifies the minimum number of line boxes in a block container - that must be left in a fragment before a fragmentation break. + that must be left in a fragment before a fragmentation break. The 'widows' property specifies the minimum number of line boxes of a block container - that must be left in a fragment after a break. + that must be left in a fragment after a break. Examples of how they are used to control fragmentation breaks are given below.
@@ -474,7 +473,7 @@ Rules for BreakingTo guarantee progress, fragmentainers are assumed to have a minimum - block size of 1px regardless of their used size. + block size of 1px regardless of their used size.
In addition to any content which is not generally fragmentable, - UAs may consider as monolithic any elements with + UAs may consider as monolithic any elements with 'overflow' set to ''overflow/auto'' or ''overflow/scroll'' and any elements with ''overflow: hidden'' and a non-''height/auto'' logical height @@ -580,16 +579,16 @@ Types of Breaks
A forced break is one explicitly indicated by the style sheet author. - A forced break occurs at a class A break point if, + A forced break occurs at a class A break point if, among the 'break-after' properties specified on or propagated to the earlier sibling box and the 'break-before' properties specified on or propagated to the later sibling box - there is at least one with a forced break value. - (Thus a forced break value effectively overrides any avoid break value + there is at least one with a forced break value. + (Thus a forced break value effectively overrides any avoid break value that also applies at that break point.)
- When multiple forced break values apply to a single break point, + When multiple forced break values apply to a single break point, they combine such that all types of break are honored. When ''left'', ''right'', ''recto'', and/or ''verso'' are combined, the value specified on the latest element in the flow wins. @@ -637,7 +636,7 @@ Unforced Breaks While breaking controls can force breaks, they can also discourage them. An unforced break is one that is inserted automatically by the UA - in order to prevent content from overflowing the fragmentainer. + in order to prevent content from overflowing the fragmentainer. The following rules control whether unforced breaking at a possible break point is allowed:
@@ -673,7 +672,7 @@ Unforced BreaksIf the above doesn't provide enough break points to keep content from - overflowing the fragmentainer, + overflowing the fragmentainer, then rule 3 is dropped to provide more break points.
@@ -699,7 +698,7 @@ Unforced Breaks and not all the content fits, the UA may break anywhere in order to avoid losing content off the edge of the fragmentainer. - In such cases, the UA may also fragment the contents of monolithic elements + In such cases, the UA may also fragment the contents of monolithic elements by slicing the element's graphical representation. However, the UA must not break at the top of the page, i.e. it must place at least some content on each fragmentainer, @@ -795,16 +794,16 @@ Breaking into Varying-size Fragmentainers across fragmentainers of this size. Progress is measured in percentages (not absolute lengths) of used/remaining fragmentainer extent and in amount of used/remaining content. - However, when laying out monolithic elements, - the UA may instead maintain a consistent inline size and resolved block size + However, when laying out monolithic elements, + the UA may instead maintain a consistent inline size and resolved block size across fragmentainers.When an unforced break occurs between block-level boxes, - any margins adjoining the break truncate to the remaining fragmentainer extent before the break, + any margins adjoining the break truncate to the remaining fragmentainer extent before the break, and are truncated to zero after the break. When a forced break occurs there, adjoining margins before the break are truncated, but margins after the break are preserved. @@ -901,16 +900,16 @@ Splitting Boxes
When a box breaks, - its content box extends to fill any remaining fragmentainer extent + its content box extends to fill any remaining fragmentainer extent (leaving room for any margins/borders/padding applied by ''box-decoration-break: clone'') - before the content resumes on the next fragmentainer. - (A fragmentation break that pushes content to the next fragmentainer - effectively increases the block size of a box's contents.) + before the content resumes on the next fragmentainer. + (A fragmentation break that pushes content to the next fragmentainer + effectively increases the block size of a box's contents.)
- The extra block size contributed by fragmenting the box - (i.e. the distance from the break point to the edge of the fragmentainer) - contributes progress towards any specified limits on the box's block size. + The extra block size contributed by fragmenting the box + (i.e. the distance from the break point to the edge of the fragmentainer) + contributes progress towards any specified limits on the box's block size.
src="images/Remaining-Fragmentainer-Extent.svg" alt="Illustration: Filling remaining fragmentainer extent">
- UAs are not required to correctly position boxes that span a fragmentation break - and whose block-start edge position depends on where the box's content fragments. + UAs are not required to correctly position boxes that span a fragmentation break + and whose block-start edge position depends on where the box's content fragments.
UAs with memory constraints that prevent them from manipulating an entire document in memory