-
Notifications
You must be signed in to change notification settings - Fork 746
Description
Right now the cssom-view spec says that (emphasis mine):
To scroll a target into view target, which is an Element or Range, with a scroll behavior behavior, a block flow direction position block, and an inline base direction position inline, means to run these steps for each ancestor element or viewport that establishes a scrolling box scrolling box, in order of innermost to outermost scrolling box:
There are many use cases when building components where it would be nice to only scroll the scroller associated with that component. I propose we add a property to ScrollIntoViewOptions which limits the scroll to only the nearest scrolling container. E.g.
dictionary ScrollIntoViewOptions : ScrollOptions {
ScrollLogicalPosition block = "start";
ScrollLogicalPosition inline = "nearest";
RecursionBehavior scrollers = "all" | "nearest";
};
I thought this was already filed but I couldn't find it in search so filing again.
Options to consider:
- A named parameter, e.g. scrollers = "all" | "nearest"
- A boolean parameter, e.g. recurse = true | false
- A capturing ancestor scroller node, e.g. Element? contain = document.scrollingElement
We could also have some combination of these options, e.g. the the named parameter could optionally take an element.