Skip to content

Commit c972eea

Browse files
committed
[css-position-3] Add definition of static position rectangle.
1 parent 945e37c commit c972eea

1 file changed

Lines changed: 61 additions & 1 deletion

File tree

css-position-3/Overview.bs

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -710,6 +710,66 @@ Absolute Positioning</h3>
710710
after [[#abspos-layout|layout]].
711711
(Otherwise the [=resolved value=] is the [=used value=] described above.)
712712

713+
714+
<h4 id="staticpos-rect">
715+
Resolving Automatic Insets</h4>
716+
717+
When both [=inset properties=] in a given axis are ''left/auto'',
718+
they are resolved in reference to the box’s <dfn export>static position rectangle</dfn>,
719+
whose edges represent the [=static position=] of the box
720+
from each side of its [=containing block=].
721+
This [=static position rectangle=]
722+
and the [=static positions=] to which it corresponds
723+
are defined by the layout model
724+
the box would have had if its 'position' were ''position/static''
725+
(and its 'float' and 'clear' values were ''float/none'').
726+
(Note that this may require assuming a different hypothetical value
727+
for 'display' as well.)
728+
729+
<dl>
730+
<dt>Block Layout
731+
<dd>
732+
The [=static positions=] of a [=block-level box=]
733+
are defined in [[CSS2]] Chapter 10.
734+
The [=static position rectangle=] is a zero-thickness rectangle spanning between
735+
the inline-axis sides of the box’s [=static-position containing block=]
736+
(see <a href="https://www.w3.org/TR/CSS2/visudet.html#abs-non-replaced-width">CSS2&sect;10.3.7</a>);
737+
and positioned at its [=block-start=] [=static position=]
738+
(see <a href="https://www.w3.org/TR/CSS2/visudet.html#abs-non-replaced-height">CSS2&sect;10.6.4</a>).
739+
740+
<dt>Inline Layout
741+
<dd>
742+
The [=static positions=] of an [=inline-level box=]
743+
are defined in [[CSS2]] Chapter 10.
744+
The [=static position rectangle=] is a zero-thickness rectangle spanning between
745+
the [=line-over=]/[=line-under=] sides of the [=line box=]
746+
that would have contained its “hypothetical box”
747+
(see <a href="https://www.w3.org/TR/CSS2/visudet.html#abs-non-replaced-width">CSS2&sect;10.3.7</a>);
748+
and positioned at its [=inline-start=] [=static position=].
749+
750+
<dt>Flex Layout
751+
<dd>
752+
The [=static position rectangle=] of the child of a [=flex container=]
753+
corresponds to the [=content edges=] of the [=flex container=].
754+
See <a href="https://www.w3.org/TR/css-flexbox-1/#abspos-items">static position of a grid container child</a> in [[!CSS-FLEXBOX-1]].
755+
756+
<dt>Grid Layout
757+
<dd>
758+
By default, the [=static position rectangle=] of the child of a [=grid container=]
759+
corresponds to the [=content edges=] of the [=grid container=].
760+
However, if that [=grid container=] also establishes
761+
the box’s actual [=containing block=],
762+
then the [=grid area=] specified by the [=grid-placement properties=]
763+
establishes its [=static position rectangle=] instead.
764+
See the <a href="https://www.w3.org/TR/css-grid-1/#static-position">static position of a grid container child</a> in [[!CSS-GRID-1]].
765+
</dl>
766+
767+
For the purposes of calculating the [=static position rectangle=],
768+
the [=containing block=] of [=fixed positioned elements=]
769+
is the [=initial containing block=] instead of the [=viewport=],
770+
and all [=scroll containers=] should be assumed
771+
to be scrolled to their [=initial scroll position=].
772+
713773
<h4 id="abspos-breaking" oldids="breaking">
714774
Fragmenting Absolutely-positioned Elements</h4>
715775

@@ -1592,4 +1652,4 @@ and entering in sensitive information that they page can then capture.
15921652
User agents must ensure that their native dialogs are positioned
15931653
in ways that the page cannot emulate;
15941654
in particular,
1595-
that at least some of the dialog is outside the "poisoned pixels" that web content can paint to.
1655+
that at least some of the dialog is outside the "poisoned pixels" that web content can paint to.

0 commit comments

Comments
 (0)