@@ -4278,8 +4278,6 @@ Resolve Intrinsic Track Sizes</h3>
4278
4278
to the [=growth limits=] of tracks with
4279
4279
a <a>max track sizing function</a> of ''max-content'' ,
4280
4280
to accommodate these items' <a>max-content contributions</a> .
4281
- However, limit the growth of any ''fit-content()'' tracks
4282
- by their ''fit-content()'' argument.
4283
4281
</ol>
4284
4282
4285
4283
Repeat incrementally for items with greater spans until all items have been considered.
@@ -4370,10 +4368,15 @@ Distributing Extra Space Across Spanned Tracks</h4>
4370
4368
(and continuing to grow the unfrozen tracks as needed).
4371
4369
4372
4370
For [=base sizes=] ,
4373
- the |limit| is its [=growth limit=] .
4371
+ the |limit| is its [=growth limit=] ,
4372
+ capped by its ''fit-content()'' argument if any.
4374
4373
For [=growth limits=] ,
4375
- the |limit| is infinity if it is marked as [=infinitely growable=] ,
4376
- and equal to the [=growth limit=] otherwise.
4374
+ the |limit| is the [=growth limit=]
4375
+ if the [=growth limit=] is finite
4376
+ and the track is not [=infinitely growable=] ,
4377
+ otherwise its ''fit-content()'' argument
4378
+ if it has a ''fit-content()'' [=track sizing function=] ,
4379
+ and infinity otherwise.
4377
4380
4378
4381
Note: If the |affected size| was a <a>growth limit</a>
4379
4382
and the track is not marked [=infinitely growable=] ,
@@ -4400,14 +4403,16 @@ Distributing Extra Space Across Spanned Tracks</h4>
4400
4403
<li>
4401
4404
when accommodating any contribution
4402
4405
into [=growth limits=] :
4403
- all |affected track|s .
4406
+ any |affected track| that has an intrinsic [=max track sizing function=] .
4404
4407
</ul>
4405
4408
4406
4409
For this purpose,
4407
4410
the [=max track sizing function=] of a ''fit-content()'' track
4408
4411
is treated as ''max-content''
4409
- until it reaches the limit specified as the ''fit-content()'' argument,
4410
- after which it is treated as having a <a>fixed sizing function</a> of that argument.
4412
+ until the track reaches the limit specified as the ''fit-content()'' argument,
4413
+ after which its [=max track sizing function=] is treated as being
4414
+ a <a>fixed sizing function</a> of that argument
4415
+ (which can change which tracks continue to receive space in this step).
4411
4416
4412
4417
Note: This step prioritizes the distribution of space
4413
4418
for accommodating |size contribution|s
@@ -4805,6 +4810,55 @@ Changes since the <a href="https://www.w3.org/TR/2020/CRD-css-grid-1-20201218/">
4805
4810
<a href="#change-2016-stretch-algo">earlier change</a>
4806
4811
to better incorporate ''justify-content/stretch'' handling into the algorithm.
4807
4812
(<a href="https://github.com/w3c/csswg-drafts/issues/5966">Issue 5966</a> )
4813
+
4814
+ <li id="change-2020-fit-content">
4815
+ Defined more precisely how ''fit-content()'' limits track growth
4816
+ when accommodating spanning items.
4817
+ (<a href="https://github.com/w3c/csswg-drafts/issues/4549">Issue 4549</a> )
4818
+ <blockquote>
4819
+ <p><strong> For intrinsic maximums:</strong>
4820
+ Next [=distribute extra space=]
4821
+ to the [=growth limits=] of tracks with
4822
+ a <a>max track sizing function</a> of ''max-content'' ,
4823
+ to accommodate these items' <a>max-content contributions</a> .
4824
+ <del> However, limit the growth of any ''fit-content()'' tracks
4825
+ by their ''fit-content()'' argument.</del></p>
4826
+ </blockquote>
4827
+ <blockquote>
4828
+ <p><strong> Distribute |space| up to limits:</strong> […] </p>
4829
+
4830
+ <p> For [=base sizes=] ,
4831
+ the |limit| is its [=growth limit=] <ins> ,
4832
+ capped by its ''fit-content()'' argument if any</ins> .
4833
+ For [=growth limits=] ,
4834
+ the |limit| is <del> infinity if it is marked as [=infinitely growable=] ,
4835
+ and equal to the [=growth limit=] otherwise</del>
4836
+ <ins> the [=growth limit=]
4837
+ if the [=growth limit=] is finite
4838
+ and the track is not [=infinitely growable=] ,
4839
+ otherwise its ''fit-content()'' argument
4840
+ if it has a ''fit-content()'' [=track sizing function=] ,
4841
+ and infinity otherwise</ins> .</p>
4842
+ </blockquote>
4843
+ <blockquote>
4844
+ <p><strong> Distribute |space| beyond limits:</strong> […] </p>
4845
+ <ul>
4846
+ <li>
4847
+ when accommodating any contribution
4848
+ into [=growth limits=] :
4849
+ <del> all |affected track|s</del>
4850
+ <ins> any |affected track| that has an intrinsic [=max track sizing function=] </ins> .
4851
+ </ul>
4852
+
4853
+ <p> For this purpose,
4854
+ the [=max track sizing function=] of a ''fit-content()'' track
4855
+ is treated as ''max-content''
4856
+ until <del> it</del> <ins> the track</ins> reaches the limit specified as the ''fit-content()'' argument,
4857
+ after which <del> it</del> <ins> its [=max track sizing function=] </ins>
4858
+ is treated as <del> having</del> <ins> being</ins>
4859
+ a <a>fixed sizing function</a> of that argument
4860
+ <ins> (which can change which tracks continue to receive space in this step)</ins> .</p>
4861
+ </blockquote>
4808
4862
</ul>
4809
4863
4810
4864
<h3 id="changes-202008">
0 commit comments