- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Mon, 26 Mar 2018 12:54:53 -0700
- To: "www-archive@w3.org" <www-archive@w3.org>
-------- Forwarded Message --------
Date: Wed, 14 Feb 2018 18:17:50 -0800
From: fantasai
To: Mats Palmgren
CC: Tab Atkins Jr.
On 02/14/2018 05:55 PM, Mats Palmgren wrote:
> On 2/15/18 12:07 AM, fantasai wrote:
>> The min-content size is the width of “foobar”, not the AMS.
>> The AMS is the used min-width. These are two different concepts,
>> and the shrinkwrap size (required by justify-self: start) uses
>> the min-content size, not the min-width in the formula.
>
> Ah, that's where my misunderstanding is then.
> I blame the rather vague term "minimum size" used in §6.6 which
> I interpreted as a more general concept.
> I think I've said this before: it's vague undefined terms and phrases
> like this that leads to implementation bugs and incompatibilities in UAs.
> I'd strongly encourage the CSS editors to always use terms that have
> a normatively defined meaning. In this case, the title of §6.6 should
> be something like "How to calculate the used value for min-width/height
> when its computed value is 'auto'". (I'd recommend removing the term
> "Automatic Minimum Size" entirely.)
The term “minimum size” is defined in
https://drafts.csswg.org/css-sizing-3/#min-size-properties
although I suppose I could make that more explicit. :)
I think the fact that the AMS was just the used value of min-width/height
was more clear in Flexbox, because it was described under the definition
of the 'auto' keyword for 'min-width' and 'min-height'. Now that that's
been factored out into Sizing, it's kindof lost the context... And since
there are so many related concepts, it's easy to get confused. ^_^
>> I think you're right, per spec, about the container size,
>> but wrong about the grid item size.
>
> I agree. But it also changes the column size doesn't it?
> If AMS is simply determining the used value of min-width, then
> the example is equivalent to:
> <style type="text/css">
> .grid {
> display: inline-grid;
> grid-template-columns: minmax(auto, 0px);
> }
> </style>
> <div class="grid">
> <div style="justify-self: start; min-width:0">foobar</div>
> </div>
Given the clamping rules for the AMS, yes.
> Both the min/max-content *contribution* of that item is "foobar",
> so the column size will in fact fill the container when the container
> is sized under min/max-content constraint.
Yes.
> The interesting case though is when sizing the container under
> "no constraint", i.e. in layout:
> https://drafts.csswg.org/css-grid/#algo-single-span-items
> "Otherwise, set its base size to the maximum of its items’ min-size contributions. The min-size contribution of an item is the
> outer size that would result from assuming the item’s min-width or min-height value (whichever matches the relevant axis) as
> its specified size if its specified size (width or height, whichever matches the relevant axis) is auto, or else the item’s
> min-content contribution."
>
> It's not clear to me if "min-width or min-height value" there is talking
> about computed or used values. So it could be interpreted either as:
> "min-width:auto; width:auto", or (with AMS = 0) "min-width:0; width:0".
> The "outer size" in the former case would be "foobar", and zero in
> the latter case. The former probably makes more sense, since otherwise
> you'd still end up with a zero column size and the item overflowing
> its column (but not the container since it was sized to fit) which
> would be weird.
Oh, interesting. Yes, I think you're right--clearing that up would solve
the problem!
>> p.s. Would you mind if I forwarded this discussion to www-archive?
>> It might be useful to refer back to at some point in the future.
>
> You're welcome to make any part of this thread public.
Cool, I'll compile a digest and archive it somewhere for future reference. :)
~fantasai
Received on Monday, 26 March 2018 19:55:22 UTC