Skip to content
install

TWO BUILDS9 browsers

Chromelisting in reviewFirefoxlisting in reviewBravelisting in reviewOperalisting in reviewEdgelisting in review4 moreChromium browsers: Arc, Vivaldi, Chromium, Opera GXthe Chrome build

diagnostic · one of 29free, no counter

Scrolling

Which element is actually scrolling - and why is it sticky?

An `overflow: hidden` that was added to stop a horizontal scrollbar creates a scroll container, and from then on `position: sticky` inside it sticks to that container rather than to the viewport. This lists every container on the page with what created it, which is the answer to most of the sticky bugs nobody can reproduce in isolation.

Reach itPress +K on any tab and type scrolling.Ctrl+Kon Windows and Linux

Every sticky, snapping and scrolling container on the page, named
readscomputed overflow, position and snap properties
writesnothing
sendsnothing
findsscroll containers, sticky elements, snap points
clippingreported per container
unintendedlisted with what created them
planfree
Add LoupeKit- opens the list of browsers it can be installed in

TWO BUILDS9 browsers

Chromelisting in reviewFirefoxlisting in reviewBravelisting in reviewOperalisting in reviewEdgelisting in review4 moreChromium browsers: Arc, Vivaldi, Chromium, Opera GXthe Chrome build

in the panel · free, no counter

section#about

What this actually is

When something sticky does not stick, when a scroll ends somewhere unexpected, or when a page has two scrollbars. Also worth a look on any page where `overflow` has been used to solve a layout problem.

section#asked

Asked about this diagnostic

Why does my sticky header not stick?

Almost always because an ancestor has an `overflow` other than `visible`, which makes it the scroll container the header sticks inside. The list names the ancestor.

What is an unintended scroll container?

One created as a side effect - `overflow: hidden` to hide a horizontal scrollbar, or `overflow: auto` on a wrapper. They behave exactly like intentional ones, which is the problem.

Does it show scroll-snap?

Yes, with the axis and the strictness. A `mandatory` snap on a container taller than the viewport is the reason some pages cannot be scrolled a little.

Is scroll behaviour part of this?

Smooth scrolling is reported where it is set. Whether it should be is a Preferences question - a page that ignores reduced motion is a finding there.

Add LoupeKit- opens the list of browsers it can be installed in

TWO BUILDS9 browsers

Chromelisting in reviewFirefoxlisting in reviewBravelisting in reviewOperalisting in reviewEdgelisting in review4 moreChromium browsers: Arc, Vivaldi, Chromium, Opera GXthe Chrome build

63 of these · no host permissions · three free audits