@@ -2376,26 +2376,38 @@ spec:css21; type:property; text:max-width
23762376
23772377 <p>
23782378 When fragmenting a table, user agents must attempt
2379- to preserve table cells unfragmented.
2379+ to preserve the table rows unfragmented
2380+ if their height is at least twice smaller than the table width.
2381+ Other rows are said <dfn id="freely-fragmentable">freely fragmentable</dfn> .
23802382
23812383 <p>
23822384 When a table doesn't fit entirely in a fragmentainer,
2385+ and the first row that does not fit in the fragmentainer is not <a>freely fragmentable</a> .
23832386 the user agent has to insert some vertical gap
23842387 between the rows located before and at the overflow point
23852388 such that the two rows end up separated in sibling fragmentainers.
2389+ Cells spanning across those two rows are
2390+ divided into two fragments (one in each fragmentainer),
2391+ whose height is kept equal to the rows they span in each of these fragments, and
2392+ their content is fragmented among those two fragments, in parallel.
23862393
2387- <p class="issue">
2388- Add a figure clarifying this.
2394+ <figure>
2395+ <img src="./images/CSS-Tables-Fragmentation-1.svg" style="width:100%; max-width: 500px;" />
2396+ <figcaption> Expected rendering of table fragmented across two pages</figcaption>
2397+ </figure>
23892398
23902399 <p>
2391- When there is no row fitting entirely in the current fragmentainer,
2392- user agents must split each cell of the row among the two fragmentainers
2393- so that all fragments in the same fragmentainer preserve the same height.
2400+ When there is no row fitting entirely in the current fragmentainer
2401+ or when the first row that does not fit in the fragmentainer is <a>freely fragmentable</a> ,
2402+ user agents must split each cell of the row in two fragments (one in each fragmentainer)
2403+ so that all fragments in the same fragmentainer continue to share the same height.
23942404 Then, the user agent must fragment the content of each cell
2395- among its two fragments in parallel.
2405+ among its two fragments, in parallel.
23962406
2397- <p class="issue">
2398- Add a figure clarifying this.
2407+ <figure>
2408+ <img src="./images/CSS-Tables-Fragmentation-2.svg" style="width:100%; max-width: 500px;" />
2409+ <figcaption> Expected rendering of table containing a tall row fragmented across two pages</figcaption>
2410+ </figure>
23992411
24002412 <p>
24012413 When 'break-before' or 'break-after' is applied
@@ -2420,6 +2432,11 @@ spec:css21; type:property; text:max-width
24202432 leave room and if needed render the table top border.
24212433 The same applies for footer rows and the table bottom border.
24222434
2435+ <figure>
2436+ <img src="./images/CSS-Tables-Repeating-Headers.svg" style="width:100%; max-width: 500px;" />
2437+ <figcaption> Expected rendering of table with headers and footers fragmented across two pages</figcaption>
2438+ </figure>
2439+
24232440 <p>
24242441 When doing so doesn't leave enough space to insert at least one content row,
24252442 users agents must drop the repeated footer.
0 commit comments