- From: fantasai via GitHub <noreply@w3.org>
- Date: Thu, 14 Aug 2025 19:02:32 +0000
- To: public-css-archive@w3.org
fantasai has just created a new issue for https://github.com/w3c/csswg-drafts: == [css-position][css-anchor-position] Splitting Scrollable Containing Blocks == When reviewing some incorrect testcases about the interaction of anchor positioning and scroll containers, and also the considering https://github.com/w3c/csswg-drafts/issues/10861, Tab and I concluded that there are multiple behaviors that are needed when attaching an abspos to a scrollable containing block, and we should introduce a switch. (Ian and Tab also came to this conclusion in a different discussion.) The three possible behaviors for a scrollable containing block are: * attach to the scrollport, do not scroll with the content ("outside" the scroller) * attach to the "initial containing block" (coinciding with the scrollport at the initial scroll position), scroll with the content ("inside" the scroller) * attach to the "scrollable containing block" (roughly the scrollable overflow area), scroll with the content Our proposal is to split positioning into three controls: * `position-type: absolute | static | relative | sticky` * `position-attachment: auto | local | fixed | scroll` * `position-container: nearest | farthest | <custom-ident>` The `position-container` property was introduced in https://github.com/w3c/csswg-drafts/issues/9868 The `position-attachment` values are as follows: * `local` - the "initial containing block" of the scroller, the ICB at the root * `fixed` - the fixed scrollport itself, the viewport at the root. * `scroll` - the scrollable overflow area, per https://github.com/w3c/csswg-drafts/issues/10861 * `auto` - `scroll` if using anchor positioning or `local` otherwise (for compat) `position` would resolve as follows: * `static` -> `position-type: static` * `sticky` -> `position-type: sticky` * `relative` -> `position-type: relative` * `absolute` -> `position-type: absolute; position-container: nearest; position-attachment: auto` * `fixed` -> `position-type: absolute; position-container: farthest; position-attachment: fixed` For compat reasons, `position-container: farthest; position-attachment: fixed` may need to convert to `local` attachment if intercepted by a CB before the root (but it would be nice if we could not do this). Doing this nicely will require shorthandifying `position`, though, so that's a topic we really do need to figure out. Working around this will be... awful. Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/12607 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Thursday, 14 August 2025 19:02:33 UTC