Skip to content

Commit c758e67

Browse files
committed
[css-flexbox] Update Changes section. Fix up clarifications to abspos reordering.
1 parent e691eed commit c758e67

4 files changed

Lines changed: 338 additions & 93 deletions

File tree

css-flexbox/Overview.bs

Lines changed: 160 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -663,7 +663,8 @@ Absolutely-Positioned Flex Children</h3>
663663

664664
In other words,
665665
the <a>static position</a> of an absolutely positioned child of a <a>flex container</a>
666-
is determined by setting its <a>static-position rectangle</a> to the <a>flex container's</a> content box,
666+
is determined <em>after flex layout</em>
667+
by setting the child’s <a>static-position rectangle</a> to the <a>flex container's</a> content box,
667668
then aligning the absolutely positioned child within this rectangle
668669
according to the 'justify-content' value of the <a>flex container</a>
669670
and the 'align-self' value of the child itself.
@@ -1215,7 +1216,8 @@ Display Order: the 'order' property</h3>
12151216
</pre>
12161217

12171218
<p>
1218-
The 'order' property controls the order in which flex items appear within their flex container,
1219+
The 'order' property controls the order in which
1220+
children of a flex container appear within the flex container,
12191221
by assigning them to ordinal groups.
12201222
It takes a single <dfn value for=order><<integer>></dfn> value,
12211223
which specifies which ordinal group the <a>flex item</a> belongs to.
@@ -1250,7 +1252,7 @@ Display Order: the 'order' property</h3>
12501252

12511253
<p>
12521254
Unless otherwise specified by a future specification,
1253-
this property has no effect on boxes that are not <i>flex items</i>.
1255+
this property has no effect on boxes that are not children of a <a>flex container</a>.
12541256

12551257
<h4 id="order-accessibility">
12561258
Reordering and Accessibility</h4>
@@ -1721,7 +1723,6 @@ The 'flex-basis' property</h4>
17211723
The CSSWG is waiting for feedback from implementers on this issue.
17221724

17231725
<small><sup>1</sup> Alternate keyword suggestions welcome.</small>
1724-
<small><sup>1</sup> Alternate keyword suggestions welcome.</small>
17251726
</div>
17261727

17271728
<p>
@@ -2278,12 +2279,16 @@ Initial Setup</h3>
22782279
as described in the <a href="#flex-items">Flex Items</a> section.
22792280

22802281
<li id='algo-flex-order'>
2281-
<strong>Re-order the flex items according to their 'order'.</strong>
2282+
<strong>Re-order the flex items (and any absolutely positioned flex container children) according to their 'order'.</strong>
22822283
The flex items with the lowest (most negative) 'order' values are first in the ordering.
22832284
If multiple flex items share an 'order' value,
22842285
they're ordered by document order.
22852286
This effectively changes the order of their boxes in the box-tree,
22862287
and how the rest of this algorithm deals with the generated flex items.
2288+
2289+
Note: Absolutely-positioned children of a flex container
2290+
do not participate in flex layout,
2291+
but are reordered together with any <i>flex item</i> children.
22872292
</ol>
22882293

22892294
<h3 id='line-sizing'>
@@ -3283,8 +3288,14 @@ Boris Zbarsky.
32833288
<h3 id="changes-201403">
32843289
Changes since the 25 March 2014 LCWD</h3>
32853290

3291+
This section documents the changes since the previous publication.
3292+
A <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325">Disposition of Comments</a> is also available.
3293+
3294+
<h4 id="change-201403-substantive">
3295+
Substantive Changes and Bugfixes</h4>
3296+
32863297
The following significant changes were made since the
3287-
<a href="http://www.w3.org/TR/2014/WD-css-flexbox-1-20140325/">25 March 2014 Last Call Working Draft</a>:
3298+
<a href="http://www.w3.org/TR/2014/WD-css-flexbox-1-20140325/">25 March 2014 Last Call Working Draft</a>
32883299

32893300
<ul>
32903301
<li id="change-201403-min-auto-not">
@@ -3294,7 +3305,51 @@ Changes since the 25 March 2014 LCWD</h3>
32943305
<a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-30">30</a>)
32953306

32963307
<blockquote>
3297-
On a <a>flex item</a> whose 'overflow' is <del>not</del> ''overflow/visible'',
3308+
On a <a>flex item</a> whose 'overflow' is <del>not</del> ''overflow/visible'' <ins>in the <i>main axis</i></ins>,
3309+
</blockquote>
3310+
3311+
<li id="change-201403-min-auto-ratio">
3312+
Expanded and rewrote definition of ''min-height/min-width: auto''
3313+
to add special handling of items with intrinsic ratios.
3314+
(Issues <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-16">16</a>
3315+
and <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-28">28</a>)
3316+
3317+
<blockquote>
3318+
<p>On a <a>flex item</a> whose 'overflow' is not ''overflow/visible'',
3319+
<ins>the following table gives the minimum size:
3320+
<a href="#valdef-min-width-min-height-auto"><strong>[see table]</strong></a></ins><br>
3321+
<del>this keyword specifies as the minimum size the smaller of:</del>
3322+
<del>
3323+
<ul>
3324+
<li>the <a>min-content size</a>, or
3325+
<li>the computed 'width'/'height', if that value is <a>definite</a>.
3326+
</ul>
3327+
</del>
3328+
</blockquote>
3329+
3330+
<li id="change-201403-min-auto-main-size-basis">
3331+
Adjusted ''min-height/min-width: auto''
3332+
to only apply the computed main size as a minimum
3333+
in cases where the flex basis was retrieved from the main size property.
3334+
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-19">19</a>)
3335+
3336+
<blockquote>
3337+
<p>&hellip; is defined if <ins>the item’s flex-basis is ''main-size'' and</ins>
3338+
its computed main size property is definite &hellip;
3339+
</blockquote>
3340+
3341+
<li id="change-201403-min-auto-intrinsic-percentages">
3342+
Defined that any size adjustment imposed by a box’s ''min-height/min-width: auto''
3343+
is not consulted when percentage-sizing any of its contents.
3344+
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-27">27</a>)
3345+
<blockquote>
3346+
<p>In order to prevent cycling sizing,
3347+
the ''auto'' value of 'min-height' and 'max-height'
3348+
does not factor into the percentage size resolution of the box’s contents.
3349+
For example, a percentage-height block whose flex item parent has
3350+
''height: 120em; min-height: auto''
3351+
will size itself against ''height: 120em'' regardless of the impact
3352+
that 'min-height' might have on the used size of the flex item.
32983353
</blockquote>
32993354

33003355
<li id="change-201403-flex-basis-auto">
@@ -3303,34 +3358,36 @@ Changes since the 25 March 2014 LCWD</h3>
33033358
could each be explicitly specified.
33043359
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-20">20</a>)
33053360

3306-
<li id="change-201403-css21-staticpos">
3307-
Clarified how the static position of an absolutely-positioned child of a flex container
3308-
is calculated by introducing an explanation of the effect more closely tied
3309-
with CSS2.1 concepts and terminology.
3310-
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-12">12</a>)
3361+
Note: This change is open for feedback from implementers,
3362+
and an alternative solution is also described if the current one is deemed unworkable.
33113363

3312-
Issue: Insert diff.
3313-
3314-
<li id="change-201403-clarify-stretched">
3315-
Clarified what a <i>stretched</i> flex item is
3316-
for the purposes of special behavior (like definiteness).
3317-
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-25">25</a>)
3364+
<li id="change-201403-definite-flexing">
3365+
Defined <i>flex items</i> with a <i>definite</i> <i>flex basis</i>
3366+
to also be <i>definite</i> in the <i>main axis</i>,
3367+
allowing resolution of percentage-sized children
3368+
even when the item itself is flexible.
3369+
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-26">26</a>)
33183370

3319-
<li id="change-201403-max-intrinsic">
3320-
Fixed <a href="#intrinsic-sizes">max-content sizing of flex containers</a>
3321-
to account for flexing behavior
3322-
by normalizing per flex fraction rather than merely summing the max-content sizes of the flex items.
3323-
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-39">39</a>)
3371+
<blockquote>
3372+
<p>If a percentage is going to be resolved against a flex item’s main size,
3373+
and the flex item has a definite flex basis,
3374+
the main size must be treated as definite for the purpose of resolving the percentage,
3375+
and the percentage must resolve against the flexed main size of the flex item
3376+
(that is, after the layout algorithm below has been completed for the flex item’s flex container,
3377+
and the flex item has acquired its final size).
3378+
</blockquote>
33243379

33253380
<li id="change-201403-clamp-single-line">
33263381
Clamp a single line flexbox's line cross size to the container's own min/max,
33273382
even when the container's size is indefinite.
3328-
(Matches Blink's behavior.)
3383+
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-9">9</a>)
33293384

33303385
<blockquote>
33313386
<ul>
33323387
<li>
3333-
The used cross-size of the <a>flex line</a> is the largest of the numbers found in the previous two steps and zero.
3388+
The used cross-size of the <a>flex line</a> is
3389+
the largest of the numbers found in the previous two steps
3390+
and zero.
33343391

33353392
<p><ins>If the flex container has only one flex line
33363393
(even if it's a multi-line flex container),
@@ -3341,34 +3398,97 @@ Changes since the 25 March 2014 LCWD</h3>
33413398
</blockquote>
33423399

33433400
<li id="change-201403-resolve-flex">
3344-
Fixed various errors in the new Resolving Flexible Lengths section
3401+
Fixed various errors in the new <a href="#resolve-flexible-lengths">Resolving Flexible Lengths</a> section
3402+
(see <a href="#change-2012-flex-continuity">March 2014 rewrite to create continuity between ''flex: 0'' and ''flex: 1''</a>)
33453403
and reverted the editorial structure to match the old Candidate Recommendation.
33463404
(Issues <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-3">3</a>,
33473405
<a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-4">4</a>,
33483406
<a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-8">8</a>,
33493407
<a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-10">10</a>,
33503408
<a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-15">15</a>)
33513409

3410+
<li id="change-201403-max-intrinsic">
3411+
Fixed <a href="#intrinsic-sizes">max-content sizing of flex containers</a>
3412+
to account for flexing behavior
3413+
by normalizing per flex fraction rather than merely summing the max-content sizes of the flex items.
3414+
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-39">39</a>)
3415+
33523416
<li id="change-201403-flex-animation">
33533417
Updated 'flex' property to accept animations always,
33543418
now that the discontinuity between 0 and non-0 values has been <a href="#change-2012-flex-continuity">fixed</a>.
33553419
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-5">5</a>)
3420+
</ul>
33563421

3357-
<li class="issue">Further changes to list here:
3358-
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-9">9</a>)
3359-
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-16">16</a>)
3360-
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-19">19</a>)
3361-
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-26">26</a>)
3362-
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-27">27</a>)
3363-
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-28">28</a>)
3422+
<h4 id="change-201403-clarify">
3423+
Clarifications</h4>
33643424

3365-
</ul>
3425+
The following significant changes were made since the
3426+
<a href="http://www.w3.org/TR/2014/WD-css-flexbox-1-20140325/">25 March 2014 Last Call Working Draft</a>
33663427

3367-
A <a href="http://dev.w3.org/csswg/css3-flexbox/issues-lc-20140325/">Disposition of Comments</a> is available.
3428+
<ul>
3429+
<li id="change-201403-css21-staticpos">
3430+
Clarified how the static position of an absolutely-positioned child of a flex container
3431+
is calculated by introducing an explanation of the effect more closely tied
3432+
with CSS2.1 concepts and terminology.
3433+
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-12">12</a>)
3434+
3435+
<blockquote>
3436+
<p><del>Its</del> <ins>The</del> static position <ins>of an absolutely-positioned child of a flex container</ins>
3437+
is
3438+
<del>calculated by first doing full flex layout without the absolutely-positioned children,
3439+
then positioning each absolutely-positioned child</del>
3440+
<ins>determined such that the child is positioned</ins>
3441+
as if it were the sole flex item in the flex container,
3442+
assuming both the child and the flex container were fixed-size boxes of their used size.
3443+
3444+
<ins><p>In other words, the static position of an absolutely positioned child of a flex container
3445+
is determined <em>after flex layout</em>
3446+
by setting the child’s <i>static-position rectangle</i> to the flex container’s content box,
3447+
then aligning the absolutely positioned child within this rectangle
3448+
according to the 'justify-content' value of the flex container and the 'align-self' value of the child itself.
3449+
</ins>
3450+
</blockquote>
3451+
3452+
<li id="change-201403-abspos-ordering">
3453+
Clarified application of 'order' to absolutely-positioned children of the <i>flex container</i>:
3454+
3455+
<blockquote>
3456+
<p>An absolutely-positioned child of a flex container does not participate in flex layout
3457+
<del>beyond the reordering step</del>.
3458+
<ins>However, it does participate in the reordering step (see 'order'),
3459+
which has an effect in their painting order.</ins>
3460+
</blockquote>
3461+
3462+
<blockquote>
3463+
<p>The order property controls the order in which <del>flex items</del>
3464+
<ins>children of a flex container</ins>
3465+
appear within their flex container&hellip;
3466+
<p>Unless otherwise specified by a future specification,
3467+
this property has no effect on boxes that are not <del>flex items</del>
3468+
<ins>children of a flex container</ins>.
3469+
</blockquote>
3470+
3471+
<blockquote>
3472+
<ins><p class="note">Note: Absolutely-positioned children of a flex container
3473+
do not participate in flex layout, but are reordered
3474+
together with any flex item children.</p></ins>
3475+
</blockquote>
3476+
3477+
<li id="change-201403-clarify-stretched">
3478+
Clarified what a <i>stretched</i> flex item is
3479+
for the purposes of special behavior (like definiteness).
3480+
(Issue <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-20140325#issue-25">25</a>)
3481+
</ul>
33683482

33693483
<h3 id="changes-2012">
33703484
Changes since the 18 September 2012 Candidate Recommendation</h3>
33713485

3486+
This section documents the changes since the previous publication.
3487+
A <a href="http://dev.w3.org/csswg/css-flexbox-1/issues-lc-2012">Disposition of Comments</a> is also available.
3488+
3489+
<h4 id="changes-2014-substantive">
3490+
Substantive Changes and Bugfixes</h4>
3491+
33723492
The following significant changes were made since the
33733493
<a href="http://www.w3.org/TR/2012/CR-css3-flexbox-20120918/">18 September 2012 Candidate Recommendation</a>:
33743494

@@ -3397,15 +3517,15 @@ Changes since the 18 September 2012 Candidate Recommendation</h3>
33973517
<del>
33983518
<p>When used as the value of a flex item's min main size property,
33993519
this keyword indicates a minimum of the min-content size,
3400-
to help ensure that the item is large enough to fit its contents.
3520+
to help ensure that the item is large enough to fit its contents.</p>
34013521
<p class='note'>
34023522
It is intended that this will compute to the ''min-content'' keyword
34033523
when the specification defining it ([[CSS3-SIZING]]) is sufficiently mature.
3524+
</p>
34043525
</del>
34053526
<ins>
34063527
<p>On a <a>flex item</a> whose 'overflow' is not ''overflow/visible'',
34073528
this keyword specifies as the minimum size the smaller of:
3408-
34093529
<ul>
34103530
<li>the <a>min-content size</a>, or
34113531
<li>the computed 'width'/'height', if that value is <a>definite</a>.
@@ -3660,6 +3780,9 @@ Changes since the 18 September 2012 Candidate Recommendation</h3>
36603780
with <a href="#resolve-flexible-lengths">this one</a>.
36613781
</ul>
36623782

3783+
<h4 id="changes-2014-clarify">
3784+
Clarifications</h4>
3785+
36633786
<p>The following significant clarifications were also made:
36643787
<ul>
36653788
<li id="clarify-2012-abspos-items">

0 commit comments

Comments
 (0)