8000 [cssom-view] Add scrollIntoView parameter to only scroll the nearest scrolling container · Issue #10451 · w3c/csswg-drafts · GitHub
[go: up one dir, main page]

Skip to content

[cssom-view] Add scrollIntoView parameter to only scroll the nearest scrolling container #10451

@flackr

Description

@flackr

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:

  1. A named parameter, e.g. scrollers = "all" | "nearest"
  2. A boolean parameter, e.g. recurse = true | false
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0