- From: Ian Kilpatrick via GitHub <sysbot+gh@w3.org>
- Date: Tue, 15 Mar 2022 19:43:32 +0000
- To: public-css-archive@w3.org
> Right, our point is that we explicitly invoke aspect-ratio in the transferred size suggestion, and explicitly do not use that suggestion for non-replaced elements, so having the aspect-ratio still sneak in via the content-size suggestion seems like it's an accident. See David's point above. Considering the aspect-ratio for only parts of the automatic-minimum-size (the content-size part), and not for other parts, is a little strange to me. Not considering the aspect-ratio at all (for non-replaced elements) seems like a little bit of a mis-step? E.g. if people want to let the element size down to zero - they can set "min-width: 0" like usual. This means that aspect-ratio within a flexbox behaves like aspect-ratio within all other layout modes. ```html <div style="display: flex; width:0; border: solid; height: 100px;"> <div style="background: green; aspect-ratio: 1/1; flex-basis: 0; min-width: auto;"></div> </div> ``` In the above example the current spec text has this as 100x100, with the new spec text it is 0x100 (AFAICT). I still think that we should consider redefining min/max-content as considering the "min-size: auto" constraint. We already somewhat do this if we have a min-height/max-height in the opposite axis. This would simplify all algorithms (grid/flex) which rely on either querying min-content-size or min-content-contribution-size, and I think match developer expectations a little more. In code this would roughly look like: ```js let computeContentSizes = (box) => { let [min_size, max_size] = box.ComputeMinIntrinsicSizes(); // I'm omitting how the min/max transferred sizes work here, its just a little more logic. let transferred_size = ...; if (box.Style().HasAspectRatio()) { if (box.Style().MinSize() == "auto") { min_size = std::max(min_size, transferred_size); max_size = std::max(max_size, transferred_size); } else { min_size = max_size = transferred_size; } } return {min_size, max_size}; }; ``` This wouldn't really break the intention "behaves like a float in zero/infinite space" the only thing we'd also need to consider is if the min-size is auto, etc. -- GitHub Notification of comment by bfgeek Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/6794#issuecomment-1068396275 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Tuesday, 15 March 2022 19:43:33 UTC