Skip to content

Commit fe80eff

Browse files
committed
[css-align-3] Formally define 'static position rectangle' per WG resolution. #1432 <https://lists.w3.org/Archives/Public/www-style/2018Jul/0028.html>
1 parent 7f55282 commit fe80eff

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

css-align-3/Overview.bs

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2247,6 +2247,60 @@ Aligning Boxes by Baseline</h3>
22472247
while maintaining baseline alignment within the [=baseline-sharing group=].
22482248

22492249

2250+
<h2 id="staticpos-rect">
2251+
ppendix A: Static Position Terminology</h2>
2252+
2253+
When both <a>inset properties</a> in a given axis are ''left/auto''
2254+
on an <a href="https://www.w3.org/TR/CSS2/visuren.html#absolutely-positioned">absolutely positioned box</a>,
2255+
CSS2 uses its <a>static position</a>
2256+
to resolve its size and position.
2257+
See [[css2#abs-non-replaced-width]].
2258+
The <a>alignment properties</a> modify these calculations,
2259+
just as they do the sizing and positioning calculations in other layout modes.
2260+
These modifications refer to a <dfn>static position rectangle</dfn>,
2261+
whose edges represent the <a>static position</a> of the box
2262+
from each side of its <a>containing block</a>.
2263+
2264+
The <a>static position rectangle</a> and the <a>static positions</a> to which it corresponds
2265+
are defined by the layout model of its “hypothetical box”:
2266+
2267+
<dl>
2268+
<dt>Block Layout
2269+
<dd>
2270+
The <a>static positions</a> of a <a>block-level box</a>
2271+
are defined in [[CSS2]] Chapter 10.
2272+
The <a>static position rectangle</a> is a zero-thickness rectangle spanning between
2273+
the inline-axis sides of the box’s <a>static position containing block</a>
2274+
(see <a href="https://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">CSS2&sect;10.3.7</a>);
2275+
and positioned at its <a>block-start</a> <a>static position</a
2276+
(see <a href="https://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-height">CSS2&sect;10.6.4).
2277+
2278+
<dt>Inline Layout
2279+
<dd>
2280+
The <a>static positions</a> of a <a>inline-level box</a>
2281+
are defined in [[CSS2]] Chapter 10.
2282+
The <a>static position rectangle</a> is a zero-thickness rectangle spanning between
2283+
the <a>line-over</a>/<a>line-under</a> sides of the <a>line box</a>
2284+
that would have contained its “hypothetical box”
2285+
(see <a href="https://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width">CSS2&sect;10.3.7</a>);
2286+
and positioned at its <a>inline-start</a> <a>static position</a>
2287+
2288+
<dt>Flex Layout
2289+
<dd>
2290+
The <a>static position rectangle</a> of the child of a <a>flex container</a>
2291+
corresponds to the <a>content edges</a> of the <a>flex container</a>.
2292+
See [[!css-flexbox-1#abspos-items]].
2293+
2294+
<dt>Grid Layout
2295+
<dd>
2296+
By default, the <a>static position rectangle</a> of the child of a <a>grid container</a>
2297+
corresponds to the <a>content edges</a> of the <a>grid container</a>.
2298+
However, if that <a>grid container</a> also establishes
2299+
the box’s actual <a>containing block</a>,
2300+
then the <a>grid area</a> specified by the <a>grid-placement properties</a>
2301+
instead establishes its <a>static position rectangle</a>.
2302+
See [[!css-grid-1#static-position]].
2303+
</dl>
22502304

22512305
<!--
22522306
██████ ██ ██ ███ ██ ██ ██████ ████████ ██████

0 commit comments

Comments
 (0)