- From: Tab Atkins Jr. via GitHub <sysbot+gh@w3.org>
- Date: Thu, 31 Mar 2022 21:38:37 +0000
- To: public-css-archive@w3.org
Proposed changes:
```diff
diff --git a/css-flexbox-1/Overview.bs b/css-flexbox-1/Overview.bs
index 358740409..c5d628f65 100644
--- a/css-flexbox-1/Overview.bs
+++ b/css-flexbox-1/Overview.bs
@@ -2903,38 +2903,52 @@ Flex Container Intrinsic Main Sizes</h4>
For each <a>flex item</a>,
subtract its outer <a>flex base size</a> from its [[#intrinsic-item-contributions|max-content contribution]] size.
If that result is positive,
- divide by its <a>flex grow factor</a> floored at 1;
+ divide by its <a>flex grow factor</a>;
if negative,
- divide by its <a>scaled flex shrink factor</a>
- having floored the <a>flex shrink factor</a> at 1.
- This is the item's <var>max-content flex fraction</var>.
+ divide by its <a>scaled flex shrink factor</a>.
+ This is the item's <var>desired flex fraction</var>.
<li>
Place all <a>flex items</a> into lines of infinite length.
-
- <li>
Within each line,
- find the largest <var>max-content flex fraction</var>
+ find the greatest (most positive)
+ <var>desired flex fraction</var>
among all the <a>flex items</a>.
+ This is the line’s <var>chosen flex fraction</var>.
+
+ <li>
+ If the sum of the line’s <a>flex grow factors</a>
+ (<a>flex shrink factors</a>,
+ if the <var>chosen flex fraction</var> is negative)
+ is less than 1,
+ multiply the <var>chosen flex fraction</var> by that sum.
+
+ <li>
Add each item’s <a>flex base size</a>
to the product of its <a>flex grow factor</a>
- (or <a>scaled flex shrink factor</a>, if the chosen <var>max-content flex fraction</var> was negative)
- and the chosen <var>max-content flex fraction</var>,
+ (<a>scaled flex shrink factor</a>, if shrinking)
+ and the <var>chosen flex fraction</var>,
then clamp that result by the <a>max main size</a>
floored by the <a>min main size</a>.
<li>
- The <a>flex container</a>’s <a>max-content size</a> is the
- largest sum of the afore-calculated sizes of all items within a single line.
+ The <a>flex container</a>’s <a>max-content size</a> is
+ the largest sum (among all the lines)
+ of the afore-calculated sizes of all items within a single line.
</ol>
The <strong><a>min-content</a> <a>main size</a></strong> of a <em><a>single-line</a></em> flex container
is calculated identically to the <a>max-content</a> <a>main size</a>,
except that the <a>flex items</a>’ [[#intrinsic-item-contributions|min-content contributions]] are used
instead of their [[#intrinsic-item-contributions|max-content contributions]].
+
However, for a <em><a>multi-line</a></em> container,
- it is simply the largest [[#intrinsic-item-contributions|min-content contribution]]
+ the [=min-content=] [=main size=] is simply the largest [[#intrinsic-item-contributions|min-content contribution]]
of all the non-[=collapsed=] <a>flex items</a> in the <a>flex container</a>.
+ For this purpose,
+ each item's contribution
+ is capped by the item’s [=flex base size=] if the item is not growable,
+ and floored by the item’s [=flex base size=] if the item is not shrinkable.
<details class=note>
<summary>Implications of this algorithm when the sum of flex is less than 1</summary>
@@ -3003,17 +3017,13 @@ Flex Item Intrinsic Size Contributions</h4>
is the larger of its <em>outer</em> <a>min-content size</a>
and outer <a>preferred size</a> (its 'width'/'height' as appropriate)
if that is not ''width/auto'',
- clamped by its <a>flex base size</a> as a maximum (if it is not growable)
- and/or as a minimum (if it is not shrinkable),
- and then further clamped by its <a lt="min main size">min</a>/<a>max main size</a>.
+ clamped by its <a lt="min main size">min</a>/<a>max main size</a>.
The <strong>main-size <a>max-content contribution</a> of a <a>flex item</a></strong>
is the larger of its <em>outer</em> <a>max-content size</a>
and outer <a>preferred size</a> (its 'width'/'height' as appropriate)
if that is not ''width/auto'',
- clamped by its <a>flex base size</a> as a maximum (if it is not growable)
- and/or as a minimum (if it is not shrinkable),
- and then further clamped by its <a lt="min main size">min</a>/<a>max main size</a>.
+ clamped by its <a lt="min main size">min</a>/<a>max main size</a>.
```
--
GitHub Notification of comment by tabatkins
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/7189#issuecomment-1085147518 using your GitHub account
--
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Thursday, 31 March 2022 21:38:38 UTC