From a208924967231ada078a1e23511bc87dfb2cbd61 Mon Sep 17 00:00:00 2001 From: Florian Rivoal Date: Fri, 12 Sep 2025 14:56:53 +0900 Subject: [PATCH] [css-overflow] drop overflow columns and subsequent content with discard See https://github.com/w3c/csswg-drafts/issues/8721 --- css-overflow-4/Overview.bs | 87 +++++++++++++++++++++++++++++++++++++- 1 file changed, 85 insertions(+), 2 deletions(-) diff --git a/css-overflow-4/Overview.bs b/css-overflow-4/Overview.bs index 3aa7ad015b1..bae520531a9 100644 --- a/css-overflow-4/Overview.bs +++ b/css-overflow-4/Overview.bs @@ -1057,8 +1057,6 @@ Fragmentation of Overflow: the 'continue' property if it is not already. [[!CSS-BREAK-3]] Content after the first [=region break=] is not rendered (see below). - (If the box is a [=multi-column container=], - any [=overflow columns=] are also not rendered.) Note: This [=region break=] might be forced (e.g. imposed by 'max-lines' or by another mechanism, @@ -1070,6 +1068,91 @@ Fragmentation of Overflow: the 'continue' property (such as pagination of this box itself) do not cause any content to be discarded. + Additionally, + if the box is a [=multi-column container=], + any content in or after [=overflow columns=] is also not rendered, + including any [=out of flow=] content + whose static position is in or after overflow columns. + +
+ In the absence of the 'continue' property, + based on [[css-multicol-1 inline]], + the following markup and associated CSS would be expected + to render as follows. + + + <div class="multicol"> + <p>Column 1</p> + <p>Column 2</p> + <p>Column 3</p> + <p>Overflow column + <div class="spanner">Spanner 1</div> + </p> + <div class="spanner">Spanner 2</div> + <p>Following 1</p> + <p>Following 2</p> + <p>Following 3</p> + <div class="spanner">Spanner 3</div> + <p>Following 4</p> + <p>Following 5</p> + <p>Following 6</p> + </div> + +

+					.multicol {
+					  columns: 3;
+					  border: solid 1px;
+					}
+					.multicol p {
+					  break-after: column;
+					  break-inside: avoid;
+					}
+					.spanner {
+					  column-span: all;
+					  text-align: center;
+					}
+				
+ +
+
+				
Column 1 Column 2 Column 3 Overflow column + Spanner 1 + Spanner 2 + Following 1 Following 2 Following 3 + Spanner 3 + Following 4 Following 5 Following 6 +
+
+ + There is one overflow column, + a spanner whose static position is within that overflow column, + another spanner whose static position is after the overflow column, + inflow content after the spanners and the overflow column, + and another spanner whose static position is in this subsequent inflow content. + + If we additionally apply the following style, + everything starting from and including the overflow column is discarded. + +

+					.multicol {
+					  continue: discard;
+					  block-ellipsis: auto;
+					}
+				
+
+
+				
Column 1 Column 2 Column 3…
+
+ +
collapse
If the box is a [=block container=], then it must