diff --git a/css-scroll-anchoring-1/Overview.bs b/css-scroll-anchoring-1/Overview.bs index 008f7a81c1d..b9f8fda8702 100644 --- a/css-scroll-anchoring-1/Overview.bs +++ b/css-scroll-anchoring-1/Overview.bs @@ -18,7 +18,9 @@ Abstract: This spec also proposes an API for web developers to opt-out of this b
-spec:css22; +spec:css-box-3; type:dfn; text:content area +spec:cssom-view-1; type:dfn; text:scrolling area +spec:css2; type:property; text:max-height text:min-height @@ -78,7 +80,9 @@ In some cases, a scrolling box may not select any anchor node. 1. If |S| is associated with an element whose computed value of the 'overflow-anchor' property is ''overflow-anchor/none'', then do not select an anchor node for |S|. - 2. Otherwise, for each DOM child |N| of the element or document associated with |S|, + 2. If |S| is not scrolled away from the origin of its scrolling area in its + block flow direction, then do not select an anchor node for |S|. + 3. Otherwise, for each DOM child |N| of the element or document associated with |S|, perform the candidate examination algorithm for |N| in |S|, and terminate if it selects an anchor node. @@ -110,17 +114,13 @@ In some cases, a scrolling box may not select any anchor node. content to shift without triggering any scroll anchoring adjustment. -Conceptually, a new anchor node is computed for every scrolling box -whenever the scroll position of any scrolling box changes. -(As a performance optimization, -the implementation may wait until the anchor node is needed before computing it.) -A DOM node |N| is an excluded subtree if it is an element and any of the following conditions holds: * |N|’s computed value of the 'display' property is ''display/none''. * |N|’s computed value of the 'position' property is ''position/fixed''. + * |N|’s computed value of the 'position' property is ''position/sticky''. * |N|’s computed value of the 'position' property is ''position/absolute'' and |N|’s containing block is an ancestor of the scrolling box. * |N|’s computed value of the 'overflow-anchor' property is ''overflow-anchor/none''. @@ -147,6 +147,18 @@ the implementation may wait until the anchor node is needed before computing it. or the bounding rect of its line boxes if |N| is a text node.++Invalidation + +An anchor node is considered valid for a scrolling box until any of the following occur: + * The scroll position of the scrolling box changes (excluding adjustments originating from scroll anchoring). + * A suppression trigger suppresses a scroll adjustment. + * The anchor node is removed from the DOM. + +Once an anchor node has become invalid, the anchor node selection algorithm must be run again to compute the anchor node + +As a performance optimization, implementations may wait until the anchor node is needed before computing it. +
Scroll Adjustment