Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions css-break-3/Overview.bs
Original file line number Diff line number Diff line change
Expand Up @@ -1003,6 +1003,30 @@ Splitting Boxes</h3>
</p>
</div>

<h4 id="grouping-boxes">
Grouping Boxes</h4>

<p>
Certain formatting contexts may establish what is known as a <dfn>grouping box</dfn>.
Other boxes can then be <dfn>assigned to</dfn> one or more of those [=grouping boxes=], which will encompass the entirety of the assigned box.
If a box is assigned to any [=grouping boxes=] and gets broken,
then for the purpose of filling any [=remaining fragmentainer extent=] as described above,
the [=remaining fragmentainer extent=] should be treated as if the [=fragmentainer=] it belongs to did not extend past the [=block-end=] of the [=grouping box=] that the break falls within.

<p>
Furthermore, if a box is assigned to any [=grouping boxes=] and the ancestors of those [=grouping boxes=] are broken between any two of the [=grouping boxes=], user agents should try to avoid creating box fragments for the [=assigned to|assigned box=], which span across that break.

<p class="note">
One way of accomplishing this is to make sure that within any [=assigned to|assigned box=] there is at least one break, preceding each point where there is a break between the [=grouping boxes=] that it is [=assigned to=].
Care should be taken to ensure that there is enough space below said break in the [=grouping box=] to fit any <a href="#valdef-box-decoration-break-clone">cloned margins/border/padding</a> so that they do not cause the [=assigned to|assigned box=] to extend beyond the [=grouping box=].

<p>
Grouping boxes are established in the following situations:
<ul>
<li>All table rows establish a grouping box. Any boxes for cells with a rowspan greater than 1 are [=assigned to=] the [=grouping boxes=] for all rows that they span.
<li>All grid rows in a [=grid container=] establish a [=grouping box=]. In this case, all [=grid items=] have their box [=assigned to=] the [=grouping boxes=] for all grid rows that their [=grid area=] covers.
</ul>

<h3 id="break-decoration">
Fragmented Borders and Backgrounds: the 'box-decoration-break' property</h3>

Expand Down