Automatic scrolling and sticky element handling
Short answer
Automatic scrolling is the part of a capture that has to fight the page. Sticky headers are neutralised so they appear once instead of every 800 pixels, lazy images are given time to decode, animations are fast-forwarded to their end state, and panels that scroll independently are detected and scrolled instead of the window.
Updated 13 August 2026Written by the Full Page Screenshot team
If you have ever taken a scrolling screenshot and got a navigation bar stamped across the image every few hundred pixels, you have met the core problem. A sticky header is, by definition, always in the viewport — so it is in every capture.
Four page behaviours, four handlers
- Fixed and sticky elements
- Elements with
position: fixedare hidden after the first capture, so the header appears once at the top where it belongs. Sticky elements are converted to relative positioning with their offsets cleared, which puts them back in the document flow at their natural place. Anything covering more than 80% of the viewport is left alone — that is a layout wrapper, not a header, and hiding it would blank the page. - Lazy-loaded images
- Before capturing, the engine prompts content to load and waits for decoding. This is why a capture takes a moment longer on an image-heavy page, and why the result does not have grey rectangles in it.
- Animations and transitions
- A stylesheet is injected that sets animation and transition durations to 1 millisecond and iteration counts to 1. Fade-in-on-scroll effects land at their final state instead of being photographed half-transparent.
- Nested scroll containers
- If the document itself does not overflow, the engine looks for the largest element whose scroll height genuinely exceeds its visible height, scrolls that, and crops each capture to its bounds so the surrounding application chrome is not repeated.
Frequently asked questions
What if the page uses scroll-triggered animations?
They are fast-forwarded to their end state before capture, so sections are fully visible rather than caught mid-fade.
Can it capture an email client or chat window?
Yes. Those are nested scroll containers, and the capture targets the panel rather than the page behind it.
Why did a floating chat widget end up in my screenshot?
If it covers a large share of the viewport it is treated as layout rather than an overlay and left in place. Close it before capturing.
Capture your first full page screenshot
Free, no account, and nothing leaves your computer.
Keep reading
Full page capture
The capture engine: measuring the document, pinning the page, photographing each screenful and joining them without seams.
Scrolling screenshots: what they are and how they work
What a scrolling screenshot is, how scroll-and-stitch capture produces one seamless image, and why joins are visible in some tools and not others.
Why the header repeats down your full page screenshot
A navigation bar stamped every few hundred pixels down a stitched screenshot is a sticky positioning problem. What causes it and how a capture avoids it.
Why images come out blank in a full page screenshot
Grey rectangles where images should be are a lazy loading problem. Why it happens during a scrolling capture and the two ways to fix it.
Keeping cookie banners and popups out of your capture
Learn how to dismiss consent banners, handle sticky modals, and use DevTools to clean up screenshots before capturing.