Skip to content

Commit dcd4fc2

Browse files
committed
[css-anchor-position-1] Clarify validation of anchor() and anchor-size() w3c#10955
1 parent cc3c3ef commit dcd4fc2

File tree

1 file changed

+22
-25
lines changed

1 file changed

+22
-25
lines changed

css-anchor-position-1/Overview.bs

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ spec:css-position-3;
2727
type:property; text:inset-inline-start
2828
spec:css-cascade-5; type:dfn; text:property
2929
spec:dom; type:dfn; text:shadow tree
30-
spec:css-align-3; type:value; for:<self-position>; text:center
30+
spec:css-align-3; type:value; text:center
3131
</pre>
3232

3333
<pre class=anchors>
@@ -825,7 +825,8 @@ can use the <dfn>anchor()</dfn> function
825825
as a value in its [=inset properties=]
826826
to refer to the position of one or more [=anchor boxes=].
827827
The ''anchor()'' function resolves to a <<length>>.
828-
It is only valid to be used in the [=inset properties=].
828+
It is only allowed in the [=inset properties=]
829+
(and is otherwise invalid).
829830

830831
<pre class="propdef partial">
831832
Name: top, left, right, bottom
@@ -908,10 +909,10 @@ The ''anchor()'' function has three arguments:
908909
''anchor()/center'' is equivalent to ''50%''.
909910

910911
* the optional <<length-percentage>> final argument is a fallback value,
911-
specifying what the function should resolve to
912-
if it's an [=invalid anchor function=].
912+
specifying what the function should compute to
913+
if it's an [=unresolvable anchor function=].
913914

914-
An ''anchor()'' function representing a [=valid anchor function=]
915+
An ''anchor()'' function representing a [=resolvable anchor function=]
915916
resolves at [=computed value=] time
916917
(using [=style & layout interleaving=])
917918
to the <<length>> that would align the edge
@@ -1259,30 +1260,27 @@ specifically, the [=default anchor element=]:
12591260
</div>
12601261

12611262

1262-
Validity {#anchor-valid}
1263-
--------
1263+
Resolution of ''anchor()'' {#anchor-valid}
1264+
--------------------------
12641265

12651266
An ''anchor()'' function is a
1266-
<dfn lt="valid anchor function|invalid anchor function">valid anchor function</dfn>
1267+
<dfn lt="resolvable anchor function|unresolvable anchor function">resolvable anchor function</dfn>
12671268
only if all the following conditions are true:
12681269

1269-
* It's being used in an [=inset property=]
1270-
on an [=absolutely positioned box=].
1270+
* It's applied to an [=absolutely positioned box=].
12711271
* If its <<anchor-side>> specifies a physical keyword,
1272-
it's being used in an [=inset property=] in that axis.
1272+
it's specified in an [=inset property=] applicable to that axis.
12731273
(For example, ''anchor()/left'' can only be used in 'left', 'right',
12741274
or a logical [=inset property=] in the horizontal axis.)
1275-
* The result of determining the [=target anchor element=] is not nothing when
1276-
given the querying element as the element it's used on,
1277-
and the anchor specifier as
1278-
the <<anchor-name>> value specified in the function.
1275+
* There is a [=target anchor element=]
1276+
for the box it's used on,
1277+
and the <<anchor-name>> value specified in the function.
12791278

12801279
If any of these conditions are false,
1281-
the ''anchor()'' function resolves to its specified fallback value.
1280+
the ''anchor()'' function [=computed value|computes=] to its specified fallback value.
12821281
If no fallback value is specified,
12831282
it makes the declaration referencing it [=invalid at computed-value time=].
12841283

1285-
12861284
<!-- Big Text: visibility
12871285

12881286
█▌ █▌ ████ ███▌ ████ ████▌ ████ █▌ ████ █████▌ █ ▐▌
@@ -1407,7 +1405,8 @@ can use the <dfn>anchor-size()</dfn> function
14071405
in its [=sizing properties=]
14081406
to refer to the size of one or more [=anchor boxes=].
14091407
The ''anchor-size()'' function resolves to a <<length>>.
1410-
It is only valid to be used in the [=accepted @position-try properties=].
1408+
It is only allowed in the [=accepted @position-try properties=]
1409+
(and is otherwise invalid).
14111410

14121411
The ''anchor-size()'' Function {#anchor-size-fn}
14131412
------------------------------
@@ -1453,24 +1452,22 @@ matches the axis of the property that ''anchor-size()'' is used in.
14531452
(For example, ''width: anchor-size()''
14541453
is equivalent to ''width: anchor-size(width)''.)
14551454

1456-
An ''anchor-size()'' function representing a [=valid anchor-size function=]
1455+
An ''anchor-size()'' function representing a [=resolvable anchor-size function=]
14571456
resolves at [=computed value=] time
14581457
(via [=style & layout interleaving=])
14591458
to the <<length>> separating the relevant border edges
14601459
(either left and right, or top and bottom,
14611460
whichever is in the specified axis)
14621461
of the [=target anchor element=].
14631462

1464-
Validity {#anchor-size-valid}
1465-
--------
1463+
Resolution of anchor-size() {#anchor-size-valid}
1464+
---------------------------
14661465

14671466
An ''anchor-size()'' function is a
1468-
<dfn lt="valid anchor-size function|invalid anchor-size function">valid anchor-size function</dfn>
1467+
<dfn lt="resolvable anchor-size function|unresolvable anchor-size function">resolvable anchor-size function</dfn>
14691468
only if all the following conditions are true:
14701469

1471-
* It's being used in a [=sizing property=], an [=inset property=], or a [=margin property=]
1472-
on an [=absolutely positioned box=].
1473-
<span class=note>(These are the [=accepted @position-try properties=] that allow lengths.)</span>
1470+
* It's applied to an [=absolutely positioned box=].
14741471
* There is a [=target anchor element=]
14751472
for the box it's used on,
14761473
and the <<anchor-name>> value specified in the function.

0 commit comments

Comments
 (0)