-
Notifications
You must be signed in to change notification settings - Fork 757
Description
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 withcontain:layoutbe considered to "affect" a fragmentation context that was established 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 we're considering fragmentation containers that 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!