@@ -115,11 +115,12 @@ Module interactions</h3>
115115 or <code> ::first-letter</code> pseudo-elements.
116116
117117<h3 id="values">
118- Values </h3>
118+ Value Definitions </h3>
119119
120- This specification follows the <a href="https://www.w3.org/TR/CSS21/about.html#property-defs">CSS property definition conventions</a> from [[!CSS2]] .
121- Value types not defined in this specification are defined in CSS Values & Units [[!CSS-VALUES-3]] .
122- Other CSS modules may expand the definitions of these value types.
120+ This specification follows the <a href="https://www.w3.org/TR/CSS2/about.html#property-defs">CSS property definition conventions</a> from [[!CSS2]]
121+ using the <a href="https://www.w3.org/TR/css-values-3/#value-defs">value definition syntax</a> from [[!CSS-VALUES-3]] .
122+ Value types not defined in this specification are defined in CSS Values & Units [[!CSS-VALUES-3]] .
123+ Combination with other CSS modules may expand the definitions of these value types.
123124
124125 In addition to the property-specific values listed in their definitions,
125126 all properties defined in this specification
@@ -614,7 +615,9 @@ Baseline Alignment: the ''baseline'' keyword and ''first''/''last'' modifiers</h
614615 of its [=baseline-sharing group=] .
615616 See [[#align-by-baseline]] for more details.
616617
617- The <a>fallback alignment</a> for ''first baseline'' is ''start'' .
618+ The <a>fallback alignment</a> for ''first baseline'' is
619+ ''safe self-start'' (for [=self-alignment=] )
620+ or ''safe start'' (for [=content-distribution=] ).
618621
619622 <dt> <dfn lt="last baseline | last">last baseline</dfn>
620623 <dd>
@@ -624,7 +627,9 @@ Baseline Alignment: the ''baseline'' keyword and ''first''/''last'' modifiers</h
624627 of its [=baseline-sharing group=] .̣
625628 See [[#align-by-baseline]] for more details.
626629
627- The <a>fallback alignment</a> for ''last baseline'' is ''safe end'' .
630+ The <a>fallback alignment</a> for ''last baseline'' is
631+ ''safe self-end'' (for [=self-alignment=] )
632+ or ''safe end'' (for [=content-distribution=] ).
628633 </dl>
629634
630635 When specified for 'align-content' ,
@@ -1340,7 +1345,7 @@ Inline-Axis (or Main-Axis) Alignment: the 'justify-self' property</h3>
13401345 <th> Other Details
13411346 <td>
13421347 In terms of CSS2.1 block-level formatting [[!CSS2]] ,
1343- the rules for “over-constrained” computations in <a href="https://www.w3.org/TR/CSS21 /visudet.html#blockwidth">section 10.3.3</a>
1348+ the rules for “over-constrained” computations in <a href="https://www.w3.org/TR/CSS2 /visudet.html#blockwidth">section 10.3.3</a>
13441349 are ignored in favor of alignment as specified here
13451350 and the used value of the margin properties are therefore not adjusted to correct for the over-constraint.
13461351
@@ -1397,12 +1402,12 @@ Inline-Axis (or Main-Axis) Alignment: the 'justify-self' property</h3>
13971402 <th> Other Details
13981403 <td>
13991404 In terms of CSS2.1 formatting [[!CSS2]] ,
1400- the rules for “over-constrained” computations in <a href="https://www.w3.org/TR/CSS21 /visudet.html#abs-non-replaced-width">section 10.3.7</a>
1405+ the rules for “over-constrained” computations in <a href="https://www.w3.org/TR/CSS2 /visudet.html#abs-non-replaced-width">section 10.3.7</a>
14011406 are ignored in favor of alignment as specified here,
14021407 and the used value of the inset properties are not adjusted to correct for the over-constraint.
14031408
14041409 Values other than ''justify-self/stretch'' or ''justify-self/normal''
1405- cause <a href="https://www.w3.org/TR/CSS21 /visudet.html#abs-non-replaced-width">non-replaced absolutely-positioned boxes</a>
1410+ cause <a href="https://www.w3.org/TR/CSS2 /visudet.html#abs-non-replaced-width">non-replaced absolutely-positioned boxes</a>
14061411 to use <a>fit-content sizing</a> for calculating ''width/auto'' sizes
14071412 in the affected axis.
14081413
@@ -1411,7 +1416,7 @@ Inline-Axis (or Main-Axis) Alignment: the 'justify-self' property</h3>
14111416 just as non-replaced ones do.
14121417
14131418 Note: If only one inset property is ''top/auto'' ,
1414- the computations in <a href="https://www.w3.org/TR/CSS21 /visudet.html#abs-non-replaced-width">CSS2 section 10.3.7</a>
1419+ the computations in <a href="https://www.w3.org/TR/CSS2 /visudet.html#abs-non-replaced-width">CSS2 section 10.3.7</a>
14151420 fully determine its size and position,
14161421 and 'justify-self' has no effect.
14171422 (If both are ''top/auto'' ,
@@ -1565,12 +1570,12 @@ Block-Axis (or Cross-Axis) Alignment: the 'align-self' property</h3>
15651570 <th> Other Details
15661571 <td>
15671572 In terms of CSS2.1 formatting [[!CSS2]] ,
1568- the rules for "over-constrained" computations in <a href="https://www.w3.org/TR/CSS21 /visudet.html#abs-non-replaced-height">section 10.6.4</a>
1573+ the rules for "over-constrained" computations in <a href="https://www.w3.org/TR/CSS2 /visudet.html#abs-non-replaced-height">section 10.6.4</a>
15691574 are ignored in favor of alignment as specified here
15701575 and the used value of the inset properties are not adjusted to correct for the over-constraint.
15711576
15721577 Values other than ''justify-self/stretch'' or ''justify-self/normal''
1573- cause <a href="https://www.w3.org/TR/CSS21 /visudet.html#abs-non-replaced-height">non-replaced absolutely-positioned boxes</a>
1578+ cause <a href="https://www.w3.org/TR/CSS2 /visudet.html#abs-non-replaced-height">non-replaced absolutely-positioned boxes</a>
15741579 to use <a>fit-content sizing</a> for calculating ''height/auto'' sizes
15751580 in the affected axis.
15761581
@@ -1579,7 +1584,7 @@ Block-Axis (or Cross-Axis) Alignment: the 'align-self' property</h3>
15791584 just as non-replaced ones do.
15801585
15811586 Note: If only one inset property is ''top/auto'' ,
1582- the computations in <a href="https://www.w3.org/TR/CSS21 /visudet.html#abs-non-replaced-height">CSS2 section 10.6.4</a>
1587+ the computations in <a href="https://www.w3.org/TR/CSS2 /visudet.html#abs-non-replaced-height">CSS2 section 10.6.4</a>
15831588 fully determine its size and position,
15841589 and 'align-self' has no effect.
15851590 (If both are ''top/auto'' ,
@@ -1706,7 +1711,7 @@ Effects on Sizing of Absolutely Positioned Boxes with Static-Position Insets</h3
17061711 the <a>available space</a> for calculating the <a>inline size</a>
17071712 is also affected by alignment.
17081713
1709- In [[CSS2]] , this is keyed off of the the 'direction' property
1714+ Note: In [[CSS2]] , the [=available space=] is keyed off of the the 'direction' property
17101715 of the <a>static-position containing block</a> .
17111716 (See <a href="https://www.w3.org/TR/CSS2/visudet.html#abs-non-replaced-width">CSS2§10.3.7</a>
17121717 and <a href="https://www.w3.org/TR/CSS2/visudet.html#abs-replaced-width">CSS2§10.3.8</a> .)
@@ -1715,20 +1720,29 @@ Effects on Sizing of Absolutely Positioned Boxes with Static-Position Insets</h3
17151720 to the corresponding edge of the <a>static position rectangle</a>
17161721 and the other to the corresponding edge of the <a>containing block</a>
17171722 (i.e. set the inset to zero).
1718-
17191723 Just as the <a>self-alignment properties</a>
1720- replace the <a>containing block</a> ’s 'direction' for placement,
1721- they also replace this lookup for sizing.
1724+ replace the <a>containing block</a> ’s 'direction' lookup for placement,
1725+ they also replace this lookup for sizing,
1726+ as specified here.
1727+
17221728 Thus,
17231729 when interpreting the rules in
17241730 <a href="https://www.w3.org/TR/CSS2/visudet.html#abs-non-replaced-width">CSS2§10.3.7</a>
17251731 and <a href="https://www.w3.org/TR/CSS2/visudet.html#abs-replaced-width">CSS2§10.3.8</a> ,
17261732 wherever the 'direction' property of the <a>static-position containing block</a> is referenced,
17271733 instead reference the value of the 'align-self' or 'justify-self' property
17281734 (whichever is defined to apply to the relevant axis),
1729- treating ''justify-content/normal'' as ''start''
1735+ treating left-equivalent alignment as defined for ''ltr''
1736+ and right-equivalent alignment as defined for ''rtl'' .
1737+ Treat ''justify-self/normal'' as ''start''
17301738 and any <a>distributed alignment</a> value as its <a>fallback alignment</a> .
17311739
1740+ In the case of ''justify-self/center'' alignment,
1741+ the [=available space=] for the box is
1742+ double the distance between the center of the [=static position rectangle=]
1743+ and the closest edge of the [=containing block=]
1744+ in the relevant axis.
1745+
17321746 <figure>
17331747 <img src="images/place-content-abspos.svg" width=480 height=330
17341748 alt="Start alignment sizes into the space between
@@ -1741,7 +1755,8 @@ Effects on Sizing of Absolutely Positioned Boxes with Static-Position Insets</h3
17411755 Instead of always sizing
17421756 within the available space between
17431757 the <a>inline-start</a> <a>static position</a>
1744- and the <a>inline-end</a> <a>containing block</a> edge,
1758+ and the <a>inline-end</a> <a>containing block</a> edge
1759+ as specified in [[CSS2]] ,
17451760 an absolutely-positioned element with ''left/auto'' insets
17461761 will be sized with reference to
17471762 the <a>static position rectangle</a> ’s edge(s)
@@ -1771,6 +1786,10 @@ Effects on Sizing of Absolutely Positioned Boxes with Static-Position Insets</h3
17711786 with <a>stretch-fit sizing</a> (consuming all of the <a>available space</a> ).
17721787 This is an independent effect from the available space adjustment here.
17731788
1789+ Note: This only affect how [=available space=] is calculated
1790+ for sizing the absolutely-positioned box;
1791+ its alignment is as specified in previous sections.
1792+
17741793<!--
17751794 ████ ████████ ████████ ██ ██ ██████
17761795 ██ ██ ██ ██ ██ ███ ███ ██ ██
@@ -2291,19 +2310,19 @@ Appendix A: Static Position Terminology</h2>
22912310 are defined in [[CSS2]] Chapter 10.
22922311 The <a>static position rectangle</a> is a zero-thickness rectangle spanning between
22932312 the inline-axis sides of the box’s <a>static-position containing block</a>
2294- (see <a href="https://www.w3.org/TR/CSS21 /visudet.html#abs-non-replaced-width">CSS2§10.3.7</a> );
2313+ (see <a href="https://www.w3.org/TR/CSS2 /visudet.html#abs-non-replaced-width">CSS2§10.3.7</a> );
22952314 and positioned at its <a>block-start</a> <a>static position</a>
2296- (see <a href="https://www.w3.org/TR/CSS21 /visudet.html#abs-non-replaced-height">CSS2§10.6.4).
2315+ (see <a href="https://www.w3.org/TR/CSS2 /visudet.html#abs-non-replaced-height">CSS2§10.6.4</a> ).
22972316
22982317 <dt> Inline Layout
22992318 <dd>
2300- The <a>static positions</a> of a <a>inline-level box</a>
2319+ The <a>static positions</a> of an <a>inline-level box</a>
23012320 are defined in [[CSS2]] Chapter 10.
23022321 The <a>static position rectangle</a> is a zero-thickness rectangle spanning between
23032322 the <a>line-over</a> /<a>line-under</a> sides of the <a>line box</a>
23042323 that would have contained its “hypothetical box”
2305- (see <a href="https://www.w3.org/TR/CSS21 /visudet.html#abs-non-replaced-width">CSS2§10.3.7</a> );
2306- and positioned at its <a>inline-start</a> <a>static position</a>
2324+ (see <a href="https://www.w3.org/TR/CSS2 /visudet.html#abs-non-replaced-width">CSS2§10.3.7</a> );
2325+ and positioned at its <a>inline-start</a> <a>static position</a> .
23072326
23082327 <dt> Flex Layout
23092328 <dd>
@@ -2318,7 +2337,7 @@ Appendix A: Static Position Terminology</h2>
23182337 However, if that <a>grid container</a> also establishes
23192338 the box’s actual <a>containing block</a> ,
23202339 then the <a>grid area</a> specified by the <a>grid-placement properties</a>
2321- instead establishes its <a>static position rectangle</a> .
2340+ establishes its <a>static position rectangle</a> instead .
23222341 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]] .
23232342 </dl>
23242343
0 commit comments