[csswg-drafts] [css-contain] Need clarification on layout containment & fragmentation

dholbert has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-contain] Need clarification on layout containment & fragmentation ==
Here's a quote of the spec's bullet point number 2 under `contain:layout` ( https://drafts.csswg.org/css-contain/#layout-containment ):
> If a fragmentation context participates in layout containment, the first element with layout containment affecting the fragmentation context must “trap” the remainder of the fragmented flow. Fragmentation must not continue past the layout containment boundary, and the last fragmentation container within the first layout containment boundary is treated as if it is the last fragmentation container in its fragmentation context.
> 
> If subsequent fragmentation containers in the fragmentation context are only generated when more content remains in the fragmented flow, then they are not generated. If they would exist regardless, they remain part of the fragmentation context, but do not receive any content from the fragmented flow.

I don't really understand what this is saying, after a few readthroughs.  Here are the primary bits of vagueness that I'm stumbling over:
 - In the first sentence, what does it mean for a fragmentation context to "`[participate] in layout containment`"?  Is this talking about the fragmentation context being established by **a parent** of the contained element, or established by **the contained element itself**, or by a **child inside of a layout-contained element**? Or some/all of the above?

- Similarly, what does "`layout containment affecting the fragmentation context`" mean?  Would a tiny block descendant with `contain:layout` be considered to "affect" a fragmentation context by its ancestor multicol element?

- In the second sentence, the phrase "`the last fragmentation container within the first layout containment boundary`" doesn't make sense to me... (in part because I'm not sure whether fragmentation containers are ancestors or descendants of the layout-contained thing, as noted above).  Hypothetically if this is talking about cases where the fragmentation container element is a parent of the layout-contained thing, then I don't know how it would generate fragmentation containers "within" a layout containment boundary.  Alternately, if this is talking about cases where the fragmentation container element *is* the layout-contained thing (or is a child of the layout-contained thing), then that phrase would trivially be describing the first fragment, and it sounds like there would simply be no fragmentation, I think...

CC'ing editors @frivoal @tabatkins .  Thanks in advance!

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/2840 using your GitHub account

Received on Wednesday, 27 June 2018 22:33:38 UTC