@@ -1542,11 +1542,11 @@ Track Sizes</h4>
15421542
15431543 <dt> <dfn><<flex [0,∞]>></dfn>
15441544 <dd>
1545- A non-negative dimension with the unit ''fr'' specifying the track's <dfn dfn noexport>flex factor</dfn> .
1545+ Specifies the track's <dfn dfn noexport>flex factor</dfn> .
15461546 Each <<flex>> -sized track takes a share of the remaining space in proportion to its <a>flex factor</a> .
15471547 For example, given a track listing of ''1fr 2fr'' ,
15481548 the tracks will take up ⅓ and ⅔ of the <a>leftover space</a> , respectively.
1549- See [[#fr-unit ]] for more details.
1549+ See [[#flexible-tracks ]] for more details.
15501550
15511551 Note: If the sum of the <a>flex factors</a> is less than 1,
15521552 they'll take up only a corresponding fraction of the <a>leftover space</a> ,
@@ -1850,22 +1850,19 @@ Interpolation/Combination of ''repeat()''</h5>
18501850 They otherwise combine <a lt=discrete>discretely</a> .
18511851
18521852<!--
1853- ████████ ████████ ██ ██ ██ ██ ████ ████████
1854- ██ ██ ██ ██ ██ ███ ██ ██ ██
1855- ██ ██ ██ ██ ██ ████ ██ ██ ██
1856- ██████ ████████ ██ ██ ██ ██ ██ ██ ██
1857- ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
1858- ██ ██ ██ ██ ██ ██ ███ ██ ██
1859- ██ ██ ██ ███████ ██ ██ ████ ██
1853+ ████████ ██ ████████ ██ ██ ████ ████████ ██ ████████
1854+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
1855+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
1856+ ██████ ██ ██████ ███ ██ ████████ ██ ████ ██
1857+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
1858+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
1859+ ██ ████████ ████████ ██ ██ ████ ████████ ████ ████ ██████ ██
18601860-->
18611861
1862- <h4 id='fr-unit '>
1863- Flexible Lengths: the ''fr'' unit </h4>
1862+ <h4 id='flexible-tracks '>
1863+ Flexible Tracks </h4>
18641864
1865- A <dfn export>flexible length</dfn> or <dfn><<flex>></dfn> is a dimension
1866- with the <dfn value for="<flex>" lt="fr|fr unit">fr</dfn> unit,
1867- which represents a fraction of the <a>leftover space</a> in the <a>grid container</a> .
1868- Tracks sized with ''fr'' units are called <dfn>flexible tracks</dfn>
1865+ Tracks sized using <<flex>> values are called <dfn>flexible tracks</dfn>
18691866 as they flex in response to <a>leftover space</a>
18701867 similar to how <a>flex items</a> with a zero base size fill space in a <a>flex container</a> .
18711868
@@ -1876,45 +1873,6 @@ Flexible Lengths: the ''fr'' unit</h4>
18761873 Each column or row's share of the <a>leftover space</a> can be computed as the column or row's
18771874 <code> <flex> * <leftover space> / <sum of all <a>flex factors</a> ></code> .
18781875
1879- <details class=note>
1880- <summary> <<flex>> values between 0fr and 1fr have a somewhat special behavior:
1881- when the sum of the flex factors is less than 1,
1882- they will take up less than 100% of the leftover space.</summary>
1883-
1884- A track’s <<flex>> value
1885- is effectively a request for some proportion of the leftover space,
1886- with ''1fr'' meaning “100% of the leftover space”;
1887- then if the tracks in that axis are requesting more than 100% in total,
1888- the requests are rebalanced to keep the same ratio but use up exactly 100% of it.
1889- However, if the tracks request <em> less</em> than the full amount
1890- (such as three tracks that are each ''.25fr'' )
1891- then they'll each get exactly what they request
1892- (25% of the leftover space to each,
1893- with the final 25% left unfilled).
1894- See [[#algo-flex-tracks]] for the exact details
1895- of how leftover space is distributed.
1896-
1897- This pattern is required for continuous behavior as ''fr'' values approach zero
1898- (which means the tracks wants <em> none</em> of the leftover space).
1899- Without this, a ''1fr'' track would take all of the leftover space;
1900- but so would a ''0.1fr'' track,
1901- and a ''0.01fr'' track,
1902- etc.,
1903- until finally the value is small enough to underflow to zero
1904- and the track suddenly takes up none of the leftover space.
1905- With this behavior,
1906- the track instead gradually takes less of the leftover space
1907- as its flex factor shrinks below ''1fr'' ,
1908- smoothly transitioning to taking none of the leftover space at zero.
1909-
1910- Unless this “partial fill” behavior is <em> specifically</em> what's desired,
1911- authors should stick to values ≥ 1;
1912- for example, using ''1fr'' and ''2fr'' is usually better
1913- than using ''.33fr'' and ''.67fr'' ,
1914- as they're more likely to behave as intended
1915- if tracks are added or removed.
1916- </details>
1917-
19181876 When the available space is infinite
19191877 (which happens when the <a>grid container</a> ’s width or height is <a>indefinite</a> ),
19201878 flex-sized <a>grid tracks</a> are sized to their contents while retaining their respective proportions.
@@ -1925,10 +1883,6 @@ Flexible Lengths: the ''fr'' unit</h4>
19251883 The maximum of those is used as the resolved ''1fr'' length (the <dfn>flex fraction</dfn> ),
19261884 which is then multiplied by each <a>grid track</a> ’s <a>flex factor</a> to determine its final size.
19271885
1928- Note: <<flex>> values are not <<length>> s
1929- (nor are they compatible with <<length>> s, like some <<percentage>> values),
1930- so they cannot be represented in or combined with other unit types in ''calc()'' expressions.
1931-
19321886<!--
19331887 ██████ ███████ ██ ██ ████████ ██ ██ ████████ ████████ ████████
19341888██ ██ ██ ██ ███ ███ ██ ██ ██ ██ ██ ██ ██ ██
@@ -4902,6 +4856,10 @@ Changes since the <a href="https://www.w3.org/TR/2020/CRD-css-grid-1-20201218/">
49024856 instead use the <a>grid area</a> determined in [[#abspos-items]] .</del>
49034857 </blockquote>
49044858
4859+ <li id="change-2020-fr-unit">
4860+ Moved the definition of <<flex>> to [[css-values-4#fractions]] ,
4861+ as other specs also make use of it.
4862+ (<a href="https://github.com/w3c/csswg-drafts/issues/8027">Issue 8027</a> )
49054863 </ul>
49064864
49074865<h3 id="changes-202008">
0 commit comments