Sticky and Fixed Positioning in Single-Axis Scroll Containers
Blink28616 Helmi

Sticky and Fixed Positioning in Single-Axis Scroll Containers

The provided sources examine how Blink/Chromium handles the interaction between sticky positioning, fixed ancestors, and the development of single-axis scroll containers. A central focus is the "fixed-between" scenario, where an intermediate position: fixed element disrupts the connection between a sticky descendant and its original scroll container. The engine typically resolves this by re-rooting the sticky element to the LayoutView or viewport, ensuring that it only responds to scroll offsets that actually translate its coordinate space. This logic prevents "jiggling" artifacts and maintains consistency across the main thread and compositor. Finally, the text explains how this established behavior serves as a architectural blueprint for single-axis scrollers, where sticky constraints must be evaluated independently for each axis to ensure elements only "stick" relative to ancestors that provide relevant movement.