Re: Fwd: [css-grid] question on clamping grid items to fixed track size

-------- Forwarded Message --------
Date: Tue, 13 Feb 2018 01:14:02 +0100
From: Mats Palmgren
To: fantasai

On 2/12/18 10:09 PM, fantasai wrote:
 > No, you're correct. The clamping only applies to the AMS. But it applies
 > to the AMS no matter what constraint the grid is being sized as. Is that
 > making sense now?

But that means that the issue Rego reported in
https://bugzilla.mozilla.org/show_bug.cgi?id=1427608
is NOT a bug and that the rendering of his testcase in Nightly
is the correct one.

(FYI, there's a detailed description of what happens in our code
for that testcase in that bug, with relevant spec references that
supports our actions.)

I don't think that's what you intended the spec to mean since you
confirmed that the grid container should be 0px for the examples
I gave.  So there is some misunderstanding about what §6.6 means.
Since it starts "To provide a more reasonable default minimum size
for grid items ..." I read it as ONLY having an effect on MINIMUM
sizes since that's what it says.  If it only clamps minimum sizes
then I don't see how it can possibly clamp an item's MAXIMUM size.
If we're supposed to clamp all size calculations for the item then
the spec needs to say so explicitly IMO, and thus it needs to be
decoupled from AMS since that's only about finding a minimum size.


BTW, clamping only the AMS is fine with me, and then I see no issues
with the spec since that's how I first read it and that's how it's
currently implemented in Gecko.  But it seems you read something
different into it than Rego and I do since you think it also clamps
the item's max-content size somehow.  As Rego explained, the reason
Chrome currently get different results is that they haven't implemented
the container's intrinsic sizing per spec, so they don't invoke the
"size it under a max-content constraint" part.  He seems to agree that
if they did that, then they would end up with the same rendering as in
Gecko, so I think he reads §6.6 the same as I do.

My suggestion in bug 1427608 was to make the clamping always apply
to the item's size, no matter if it's a min/max/fit (or whatever) size
(under the same conditions as before of course: min-size:auto,
overflow:visible, auto min-sizing function, fixed max-sizing function).
This makes a fixed track max-sizing function rather draconian though --
the item's/track's size cannot possibly be larger than that under any
circumstances, which might not be ideal as you noted earlier.

(BTW, if you replace "automatic minimum size" with "size" in §6.6 then
I think you'd also get that effect.)

So, clearly there are some spec issues we need to sort out here. :-)

Sorry for the many words, I hope it helps to get across how
I (mis)understand the spec, as it may be.


Thanks,
Mats

Received on Monday, 26 March 2018 19:49:50 UTC