@@ -20,11 +20,12 @@ Previous Version: https://www.w3.org/TR/2014/WD-css-align-3-20141218/
2020Previous Version : https://www.w3.org/TR/2013/WD-css3-align-20130514/
2121Previous Version : https://www.w3.org/TR/2012/WD-css3-align-20120612/
2222Abstract : This module contains the features of <a href="https://www.w3.org/TR/CSS/">CSS</a> relating to the alignment of boxes within their containers in the various CSS box layout models: block layout, table layout, flex layout, and grid layout. (The alignment of text and inline-level content is defined in [[CSS-TEXT-3]] and [[CSS-INLINE-3]].)
23- Ignored Terms : table cell, stretch, scrollable overflow region
23+ Ignored Terms : table cell, stretch, scrollable overflow region, static position, static-position containing block, static positions
2424At Risk : ''[ first | last ]? baseline''
2525At Risk : the <<overflow-position>> keywords
2626At Risk : the scrollable-area safety trigger into ''safe'' mode when no <<overflow-position>> is specified
2727At Risk : the ''legacy'' keyword for 'justify-items'
28+ At Risk : the effect of the <a>box alignment properties</a> on absolutely-positioned boxes with ''left/auto'' offsets
2829</pre>
2930
3031<pre class=link-defaults>
@@ -911,7 +912,9 @@ The 'justify-content' and 'align-content' Properties</h3>
911912 <tr>
912913 <th> 'justify-content' Axis
913914 <td>
914- Does not apply to and has no effect on <a>block containers</a> .
915+ Does not apply to and has no effect on <a>block containers</a>
916+ except insofar as it affects absolutely-positioned elements,
917+ see [[#distribution-abspos-static]] .
915918 <tr>
916919 <th> ''justify-content/normal'' Behavior
917920 <td>
@@ -927,6 +930,43 @@ The 'justify-content' and 'align-content' Properties</h3>
927930 ''justify-content/normal'' otherwise behaves as ''start'' .
928931 </table>
929932
933+ ### Static Position of Absolutely-Positioned Boxes ### {#distribution-abspos-static}
934+
935+ When applying the layout rules for absolutely-positioned elements
936+ ([[CSS2#abs-non-replaced-width]] and [[CSS2#abs-replaced-width]] )
937+ wherever the 'direction' property of the <a>static-position containing block</a> is referenced,
938+ instead reference the value of its 'justify-content' or 'align-content' property
939+ (whichever is defined to apply to the <a>static-position containing block</a> ’s <a>inline axis</a> ),
940+ treating ''justify-content/normal'' as ''start''
941+ and any <a>distributed alignment</a> value as its <a>fallback alignment</a> .
942+ For example,
943+ when 'direction' is ''ltr'' and 'justify-content' is ''justify-content/end'' ,
944+ apply the rules for ''direction: rtl'' ;
945+ when 'direction' is ''rtl'' and 'justify-content' is ''justify-content/space-between'' ,
946+ apply the rules for ''direction: rtl'' ;
947+ etc.
948+
949+ For the case of ''justify-content/center'' (or its equivalent),
950+ split the difference:
951+ when both 'inset-inline-start' and 'inset-inline-end'
952+ ('left' and 'right' in horizontal LTR <a>writing modes</a> )
953+ are ''left/auto'' ,
954+ set each to its <a>static position</a> ,
955+ and if the resulting “shrink-to-fit” <a>inline size</a> conflicts,
956+ re-solve the equation for 'inset-inline-end' .
957+
958+ Note: What this means is that,
959+ instead of always sizing an absolutely-positioned element
960+ within the available space between
961+ its inline-start <a>static position</a>
962+ and its inline-end <a>containing block</a> edge,
963+ the author can choose to instead use the space between
964+ its inline-start <a>containing block</a> edge
965+ and inline-end <a>static position</a>
966+ or between its inline-start and inline-end <a>static positions</a>
967+ by changing the <a>static-position containing block</a> ’s
968+ <a>content-distribution properties</a> .
969+
930970### Multicol Containers ### {#distribution-multicol}
931971
932972 <table class="data align-details">
0 commit comments