diff --git a/css-anchor-1/Overview.bs b/css-anchor-1/Overview.bs index f10e4b64573..2176c6ce497 100644 --- a/css-anchor-1/Overview.bs +++ b/css-anchor-1/Overview.bs @@ -20,6 +20,24 @@ spec:css-position-3; type:property; text:inset-inline-start + + Introduction {#intro} ===================== @@ -442,21 +460,40 @@ might not be capable of anchoring the positioned element. but the details of that will depend on the API assigning them.) -
+
An element |el| is a acceptable anchor element for an [=absolutely positioned=] element |query el| - if all of the following properties apply: + if any of the following are true: + + * |query el| is in a higher [=root layer=] than |el|. + + * |query el| and |el| are in the same [=root layer=], + and all of the following are true: + + * Either |el| is a descendant of |query el|'s [=containing block=], + or |query el|'s [=containing block=] is the [=initial containing block=]. + + * If |el| has the same [=containing block=] as |query el|, + |el| is not [=absolutely positioned=]. - * Either |el| is a descendant of |query el|'s [=containing block=], - or |query el|'s [=containing block=] is the [=initial containing block=]. + * If |el| has a different [=containing block=] from |query el|, + the last [=containing block=] in |el|'s [=containing block chain=] + before reaching |query el|'s [=containing block=] + is not [=absolutely positioned=]. - * If |el| has the same [=containing block=] as |query el|, - |el| is not [=absolutely positioned=]. + For the purposes of this algorithm, + an element is in a particular root layer + corresponding to the closest [=inclusive ancestor=] + that is in the [=top layer=], + or the document if there isn't one. + [=Root layers=] are "higher" if their corresponding element + is later in the [=top layer=] list; + the layer corresponding to the document is lower than all other layers. - * If |el| has a different [=containing block=] from |query el|, - the last [=containing block=] in |el|'s [=containing block chain=] - before reaching |query el|'s [=containing block=] - is not [=absolutely positioned=]. + Note: This wording around "root layer" + needs to live in a stacking-context spec, + after pulling the [=top layer=] stuff + out of [[fullscreen]].
An element can also have an implicit anchor element,