2525
2626 < h1 > CSS Box Alignment Module Level 3</ h1 >
2727
28- < h2 class ="no-num no-toc " id =longstatus-date > Editor's Draft 24 May 2012</ h2 >
28+ < h2 class ="no-num no-toc " id =longstatus-date > Editor's Draft 31 May 2012</ h2 >
2929
3030 < dl > <!--
3131 <dt>This version:
32- <dd><a href="http://www.w3.org/TR/2012/ED-css3-align-20120524 /">http://www.w3.org/TR/2012/ED-css3-align-20120524 /</a>
32+ <dd><a href="http://www.w3.org/TR/2012/ED-css3-align-20120531 /">http://www.w3.org/TR/2012/ED-css3-align-20120531 /</a>
3333 <dt>Latest version:
3434 <dd><a href="http://www.w3.org/TR/css3-align/">http://www.w3.org/TR/css3-align/</a>
3535-->
@@ -570,6 +570,9 @@ <h3 id=box-justify><span class=secno>3.1. </span> Inline/Main-Axis
570570 up by the float), not with respect to the containing block. (Note: This is
571571 the legacy behavior of HTML < code > align</ code > .)
572572
573+ < p > For flex containers, if the "start" and "end" are not in the alignment
574+ dimension, the "head" and "foot" sides are used instead.
575+
573576 < p class =note > This property would replace ‘< code
574577 class =property > grid-column-align</ code > ’.
575578
@@ -587,7 +590,7 @@ <h3 id=box-align><span class=secno>3.2. </span> Stacking/Cross-Axis
587590 < tr >
588591 < th > < a href ="#values "> Value</ a > :
589592
590- < td > auto | [ baseline | before | after | center | stretch ] && true?
593+ < td > auto | [ baseline | head | foot | center | stretch ] && true?
591594
592595 < tr >
593596 < th > Initial:
@@ -639,8 +642,8 @@ <h3 id=box-align><span class=secno>3.2. </span> Stacking/Cross-Axis
639642 < dt > < dfn id =auto0 > ‘< code class =css > auto</ code > ’</ dfn >
640643
641644 < dd > For flexbox items, computes to alignment specified by the ‘< code
642- class =property > child-align</ code > ’ property of the flexbox container.
643- For grid items, computes to ‘< a href ="#stretch "> < code
645+ class =property > child-align</ code > ’ property of the flex container. For
646+ grid items, computes to ‘< a href ="#stretch "> < code
644647 class =css > stretch</ code > </ a > ’.
645648
646649 < dt > < dfn id =baseline > ‘< code class =css > baseline</ code > ’</ dfn >
@@ -650,13 +653,13 @@ <h3 id=box-align><span class=secno>3.2. </span> Stacking/Cross-Axis
650653 href ="#baseline0 "> < code class =css > baseline</ code > </ a > ’-aligned siblings
651654 in the same row/line.
652655
653- < dt > < dfn id =before > ‘< code class =css > before </ code > ’</ dfn >
656+ < dt > < dfn id =head > ‘< code class =css > head </ code > ’</ dfn >
654657
655- < dd > Before -aligns the box within its containing block.
658+ < dd > Head -aligns the box within its containing block.
656659
657- < dt > < dfn id =after > ‘< code class =css > after </ code > ’</ dfn >
660+ < dt > < dfn id =foot > ‘< code class =css > foot </ code > ’</ dfn >
658661
659- < dd > After -aligns the box within its containing block.
662+ < dd > Foot -aligns the box within its containing block.
660663
661664 < dt > < dfn id =center0 > ‘< code class =css > center</ code > ’</ dfn >
662665
@@ -669,13 +672,12 @@ <h3 id=box-align><span class=secno>3.2. </span> Stacking/Cross-Axis
669672 < dt > < dfn id =true0 > ‘< code class =css > true</ code > ’</ dfn >
670673
671674 < dd > If specified, alignment is "true", and may cause the box to overflow
672- the before edge of the containing block. Otherwise, the box is forced to
673- before -align if its outer extent is longer than the containing block.
675+ the head edge of the containing block. Otherwise, the box is forced to
676+ head -align if its outer extent is longer than the containing block.
674677 </ dl >
675678
676- < p > For flex items "before" and "after" are interpreted relative to the flex
677- flow, not the writing mode. (Is this actually what we want? Even in the
678- overflow-correction case?)
679+ < p > For flex items, if the "head" and "foot" are not in the alignment
680+ dimension, the "start" and "end" sides are used instead.
679681
680682 < p class =note > This replaces ‘< code
681683 class =property > flex-item-align</ code > ’.
@@ -717,7 +719,7 @@ <h3 id=box-justify><span class=secno>4.1. </span> Inline/Main-Axis
717719 < tr >
718720 < th > Applies to:
719721
720- < td > block containers and flexbox containers
722+ < td > block containers and flex containers
721723
722724 < tr >
723725 < th > Inherited:
@@ -753,7 +755,7 @@ <h3 id=box-justify><span class=secno>4.1. </span> Inline/Main-Axis
753755
754756 < p > Gives the default alignment of the box's content along the inline/row
755757 axis. For block containers, this simply changes the meaning of ‘< code
756- class =css > box-justify: auto</ code > ’ on its children. For flexbox
758+ class =css > box-justify: auto</ code > ’ on its children. For flex
757759 containers, this aligns the contents of each flexbox line within its
758760 flexbox line box. See [[!CSS3FLEXBOX]] for exact details.
759761
@@ -775,13 +777,13 @@ <h3 id=box-justify><span class=secno>4.1. </span> Inline/Main-Axis
775777
776778 < dt > < dfn id =left > ‘< code class =css > left</ code > ’</ dfn >
777779
778- < dd > Aligns content to the line-left edge. On a flexbox container, this is
780+ < dd > Aligns content to the line-left edge. On a flex container, this is
779781 treated as ‘< a href ="#auto2 "> < code class =css > auto</ code > </ a > ’ if the
780782 line-left direction is in the wrong dimension.
781783
782784 < dt > < dfn id =right > ‘< code class =css > right</ code > ’</ dfn >
783785
784- < dd > Aligns content to the line-right edge. On a flexbox container, this is
786+ < dd > Aligns content to the line-right edge. On a flex container, this is
785787 treated as ‘< a href ="#auto2 "> < code class =css > auto</ code > </ a > ’ if the
786788 line-right direction is in the wrong dimension.
787789
@@ -812,8 +814,10 @@ <h3 id=box-justify><span class=secno>4.1. </span> Inline/Main-Axis
812814 applied) is wider than the containing block.
813815 </ dl >
814816
815- < p class =note > This property would replace ‘< code
816- class =property > flex-pack</ code > ’ and would, in conjunction with ‘< code
817+ < p > For flex containers, if the "start" and "end" are not in the alignment
818+ dimension, the "head" and "foot" sides are used instead.
819+
820+ < p class =note > This would, in conjunction with ‘< code
817821 class =property > text-align</ code > ’, implement the HTML < code > align</ code >
818822 attribute and < code > <center></ code > . The weird behavior of ‘< a
819823 href ="#auto2 "> < code class =css > auto</ code > </ a > ’ is for that and because
@@ -836,7 +840,7 @@ <h3 id=box-align><span class=secno>4.2. </span> Stacking/Cross-Axis
836840 < tr >
837841 < th > < a href ="#values "> Value</ a > :
838842
839- < td > auto | [ before | after | baseline | center | space-between |
843+ < td > auto | [ head | foot | baseline | center | space-between |
840844 space-around ] && true?
841845
842846 < tr >
@@ -847,7 +851,7 @@ <h3 id=box-align><span class=secno>4.2. </span> Stacking/Cross-Axis
847851 < tr >
848852 < th > Applies to:
849853
850- < td > block containers and flexbox containers
854+ < td > block containers and flex containers
851855
852856 < tr >
853857 < th > Inherited:
@@ -887,30 +891,29 @@ <h3 id=box-align><span class=secno>4.2. </span> Stacking/Cross-Axis
887891 < dl >
888892 < dt > < dfn id =auto2 > ‘< code class =css > auto</ code > ’</ dfn >
889893
890- < dd > For block containers, equivalent to ‘< a href ="#before0 "> < code
891- class =css > before</ code > </ a > ’, except that it does not cause the block
892- to establish a block formatting context. For table cells, defers
893- alignment to ‘< code class =property > vertical-align</ code > ’ as
894- specified in < a href ="#CSS21 "
895- rel =biblioentry > [CSS21]<!--{{!CSS21}}--> </ a > chapter 17. For flexbox
896- containers, it causes any positive free space to be distributed equally
897- across the lines. < a href ="#CSS3-FLEXBOX "
894+ < dd > For block containers, equivalent to ‘< a href ="#head0 "> < code
895+ class =css > head</ code > </ a > ’, except that it does not cause the block to
896+ establish a block formatting context. For table cells, defers alignment
897+ to ‘< code class =property > vertical-align</ code > ’ as specified in < a
898+ href ="#CSS21 " rel =biblioentry > [CSS21]<!--{{!CSS21}}--> </ a > chapter 17.
899+ For flex containers, it causes any positive free space to be distributed
900+ equally across the lines. < a href ="#CSS3-FLEXBOX "
898901 rel =biblioentry > [CSS3-FLEXBOX]<!--{{!CSS3-FLEXBOX}}--> </ a >
899902
900- < dt > < dfn id =before0 > ‘< code class =css > before </ code > ’</ dfn >
903+ < dt > < dfn id =head0 > ‘< code class =css > head </ code > ’</ dfn >
901904
902- < dd > Before -aligns the box's content within its content box: the content is
903- laid out beginning at the box's before content edge.
905+ < dd > Head -aligns the box's content within its content box: the content is
906+ laid out beginning at the box's head content edge.
904907
905908 < dt > < dfn id =center2 > ‘< code class =css > center</ code > ’</ dfn >
906909
907910 < dd > Centers the box's content within its content box: the content is
908- centered between the box's before and after content edges.
911+ centered between the box's head and foot content edges.
909912
910- < dt > < dfn id =after0 > ‘< code class =css > after </ code > ’</ dfn >
913+ < dt > < dfn id =foot0 > ‘< code class =css > foot </ code > ’</ dfn >
911914
912- < dd > After -aligns the box's content within its content box: the content is
913- laid out so that it finishes at the after content edge.
915+ < dd > Foot -aligns the box's content within its content box: the content is
916+ laid out so that it finishes at the foot content edge.
914917
915918 < dt > < dfn id =baseline0 > ‘< code class =css > baseline</ code > ’</ dfn >
916919
@@ -923,44 +926,43 @@ <h3 id=box-align><span class=secno>4.2. </span> Stacking/Cross-Axis
923926 rel =biblioentry > [CSS21]<!--{{!CSS21}}--> </ a > chapter 17 for details. If
924927 size constraints prevent the baselines from fully aligning, alignment is
925928 as close as possible. If the content's position is not fully determined
926- by baseline alignment, the content is before -aligned insofar as possible
929+ by baseline alignment, the content is head -aligned insofar as possible
927930 while preserving the baseline alignment. (Content that has no first-line
928- baseline is thus also before -aligned.)
931+ baseline is thus also head -aligned.)
929932
930933 < dt > < dfn id =space-between0 > ‘< code
931934 class =css > space-between</ code > ’</ dfn >
932935
933- < dd > For flexbox containers, distributes lines evenly by adjusting
934- inter-line spacing. If there is only one line (or if the element is
935- container of line boxes), this is equivalent to centering. UAs may also
936- apply ‘ < a href ="#space-between0 "> < code
937- class = css > space-between </ code > </ a > ’ to lines in a block container.
936+ < dd > For flex containers, distributes lines evenly by adjusting inter-line
937+ spacing. If there is only one line (or if the element is container of
938+ line boxes), this is equivalent to centering. UAs may also apply ‘ < a
939+ href ="#space-between0 "> < code class = css > space-between </ code > </ a > ’ to
940+ lines in a block container.
938941
939942 < dt > < dfn id =space-around0 > ‘< code class =css > space-around</ code > ’</ dfn >
940943
941- < dd > For flexbox containers, distributes lines evenly by adjusting
942- inter-line spacing and applying half of that spacing between the
943- first/last child and the box edges. If there is only one line (or if the
944- element is not a container of line boxes), this is equivalent to
945- centering. UAs may also apply ‘< a href ="#space-between0 "> < code
944+ < dd > For flex containers, distributes lines evenly by adjusting inter-line
945+ spacing and applying half of that spacing between the first/last child
946+ and the box edges. If there is only one line (or if the element is not a
947+ container of line boxes), this is equivalent to centering. UAs may also
948+ apply ‘< a href ="#space-between0 "> < code
946949 class =css > space-between</ code > </ a > ’ to lines in a block container.
947950
948951 < dt > < dfn id =true2 > ‘< code class =css > true</ code > ’</ dfn >
949952
950953 < dd > If specified, alignment is "true", and may cause the content to
951- overflow the before edge of the containing block. Otherwise, the content
952- is forced to before -align if is longer than the box's content area, and
953- will thus overflow only the after edge.
954+ overflow the head edge of the containing block. Otherwise, the content is
955+ forced to head -align if is longer than the box's content area, and will
956+ thus overflow only the foot edge.
954957 </ dl >
955958
956959 < p > All values other than ‘< a href ="#auto2 "> < code
957960 class =css > auto</ code > </ a > ’ cause a block box to establish a block
958961 formatting context such that its margins do not collapse with its children
959962 and floats do not intrude into its content box.
960963
961- < p > For flexbox containers "before" and "after" are interpreted relative to
962- the flex flow, not the writing mode. < span class =issue > Is this actually
963- what we want? Even in the overflow-correction case?</ span >
964+ < p > For flex containers, if the "head" and "foot" are not in the alignment
965+ dimension, the "start" and "end" sides are used instead.
964966
965967 < p class =note > This would replace ‘< code
966968 class =property > flex-line-pack</ code > ’.
@@ -1060,7 +1062,7 @@ <h3 id=child-align><span class=secno>5.2. </span> Stacking/Cross-Axis
10601062 < tr >
10611063 < th > < a href ="#values "> Value</ a > :
10621064
1063- < td > auto | [ before | after | center | baseline | stretch ] && true?
1065+ < td > auto | [ head | foot | center | baseline | stretch ] && true?
10641066
10651067 < tr >
10661068 < th > Initial:
@@ -1105,8 +1107,8 @@ <h3 id=child-align><span class=secno>5.2. </span> Stacking/Cross-Axis
11051107 </ table >
11061108
11071109 < p > Sets the default ‘< a href ="#align-self "> < code
1108- class =property > align-self</ code > </ a > ’ of the flexbox container's
1109- children or the grid container's items. The ‘< a href ="#auto2 "> < code
1110+ class =property > align-self</ code > </ a > ’ of the flex container's children
1111+ or the grid container's items. The ‘< a href ="#auto2 "> < code
11101112 class =css > auto</ code > </ a > ’ value computes to ‘< a href ="#stretch "> < code
11111113 class =css > stretch</ code > </ a > ’ on flexbox and grid containers.
11121114
@@ -1370,10 +1372,6 @@ <h2 class=no-num id=index> Index</h2>
13701372 <!--begin-index-->
13711373
13721374 < ul class =indexlist >
1373- < li > ‘< a href ="#after0 "> < code class =css > after</ code > </ a > ’, < a
1374- href ="#after " title ="''after'' "> < strong > 3.2.</ strong > </ a > , < a
1375- href ="#after0 " title ="''after'' "> < strong > 4.2.</ strong > </ a >
1376-
13771375 < li > align-content, < a href ="#align-content "
13781376 title =align-content > < strong > 4.2.</ strong > </ a >
13791377
@@ -1396,10 +1394,6 @@ <h2 class=no-num id=index> Index</h2>
13961394 href ="#baseline " title ="''baseline'' "> < strong > 3.2.</ strong > </ a > , < a
13971395 href ="#baseline0 " title ="''baseline'' "> < strong > 4.2.</ strong > </ a >
13981396
1399- < li > ‘< a href ="#before0 "> < code class =css > before</ code > </ a > ’, < a
1400- href ="#before " title ="''before'' "> < strong > 3.2.</ strong > </ a > , < a
1401- href ="#before0 " title ="''before'' "> < strong > 4.2.</ strong > </ a >
1402-
14031397 < li > ‘< a href ="#center2 "> < code class =css > center</ code > </ a > ’, < a
14041398 href ="#center " title ="''center'' "> < strong > 3.1.</ strong > </ a > , < a
14051399 href ="#center0 " title ="''center'' "> < strong > 3.2.</ strong > </ a > , < a
@@ -1410,6 +1404,14 @@ <h2 class=no-num id=index> Index</h2>
14101404 title ="''end'' "> < strong > 3.1.</ strong > </ a > , < a href ="#end0 "
14111405 title ="''end'' "> < strong > 4.1.</ strong > </ a >
14121406
1407+ < li > ‘< a href ="#foot0 "> < code class =css > foot</ code > </ a > ’, < a
1408+ href ="#foot " title ="''foot'' "> < strong > 3.2.</ strong > </ a > , < a href ="#foot0 "
1409+ title ="''foot'' "> < strong > 4.2.</ strong > </ a >
1410+
1411+ < li > ‘< a href ="#head0 "> < code class =css > head</ code > </ a > ’, < a
1412+ href ="#head " title ="''head'' "> < strong > 3.2.</ strong > </ a > , < a href ="#head0 "
1413+ title ="''head'' "> < strong > 4.2.</ strong > </ a >
1414+
14131415 < li > justify-content, < a href ="#justify-content "
14141416 title =justify-content > < strong > 4.1.</ strong > </ a >
14151417
@@ -1484,12 +1486,12 @@ <h2 class=no-num id=property-index> Property index</h2>
14841486 < tr >
14851487 < th > < a class =property href ="#align-content "> align-content</ a >
14861488
1487- < td > auto | [ before | after | baseline | center | space-between |
1489+ < td > auto | [ head | foot | baseline | center | space-between |
14881490 space-around ] && true?
14891491
14901492 < td > auto
14911493
1492- < td > block containers and flexbox containers
1494+ < td > block containers and flex containers
14931495
14941496 < td > no
14951497
@@ -1500,7 +1502,7 @@ <h2 class=no-num id=property-index> Property index</h2>
15001502 < tr >
15011503 < th > < a class =property href ="#align-items "> align-items</ a >
15021504
1503- < td > auto | [ before | after | center | baseline | stretch ] && true?
1505+ < td > auto | [ head | foot | center | baseline | stretch ] && true?
15041506
15051507 < td > auto
15061508
@@ -1515,7 +1517,7 @@ <h2 class=no-num id=property-index> Property index</h2>
15151517 < tr >
15161518 < th > < a class =property href ="#align-self "> align-self</ a >
15171519
1518- < td > auto | [ baseline | before | after | center | stretch ] && true?
1520+ < td > auto | [ baseline | head | foot | center | stretch ] && true?
15191521
15201522 < td > auto
15211523
@@ -1535,7 +1537,7 @@ <h2 class=no-num id=property-index> Property index</h2>
15351537
15361538 < td > auto
15371539
1538- < td > block containers and flexbox containers
1540+ < td > block containers and flex containers
15391541
15401542 < td > no
15411543
0 commit comments