Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 11 additions & 28 deletions css-anchor-position-1/Overview.bs
Original file line number Diff line number Diff line change
Expand Up @@ -611,37 +611,20 @@ might not be capable of anchoring the positioned element.
<div algorithm="acceptable anchor element">
An element |el| is a <dfn export>acceptable anchor element</dfn>
for an [=absolutely positioned=] element |query el|
if any of the following are true:
if all of the following are true:

* |query el| is in a higher [=root layer=] than |el|.
* Either |el| is a descendant of |query el|'s [=containing block=],
or |query el|'s [=containing block=] is the [=initial containing block=].

* |query el| and |el| are in the same [=root layer=],
and all of the following are true:
* If |el| has the same [=containing block=] as |query el|,
then either |el| is not [=absolutely positioned=],
or |el| precedes |query el| in the tree order.

* 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=].

* 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=].

For the purposes of this algorithm,
an element is in a particular <dfn noexport>root layer</dfn>
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.

Note: This wording around "root layer"
needs to live in a stacking-context spec,
after pulling the [=top layer=] stuff
out of [[fullscreen]].
* If |el| has a different [=containing block=] from |query el|,
then the last [=containing block=] in |el|'s [=containing block chain=]
before reaching |query el|'s [=containing block=]
is either not [=absolutely positioned=]
or precedes |query el| in the tree order.
</div>

An element can also have an <dfn export>implicit anchor element</dfn>,
Expand Down