- From: CSS Meeting Bot via GitHub <sysbot+gh@w3.org>
- Date: Wed, 22 Mar 2023 16:36:37 +0000
- To: public-css-archive@w3.org
The CSS Working Group just discussed ``[css-overflow][css-contain][css-sizing] `overflow: auto` incompatible with size containment and container queries``. <details><summary>The full IRC log of that discussion</summary> <emeyer> oriol: We had a resolution but I’m not sure if that was the right solution<br> <emeyer> …Problem is that with overflow:auto, if the browser is using classical scrollbars, those take up space<br> <emeyer> …This can happen in two ways<br> <emeyer> …Browser may behave a bit different, if the element is sized intrinsically, the scrollbar size is added on top of content size<br> <emeyer> …If the size is explicit, then outer size of the element is preserved and scrollbars go inside<br> <emeyer> …We resolved the address the problem we don’t want, having to check to see if ancestors have to change size<br> <emeyer> …We always want to stop at element with size containment<br> <emeyer> …So we resolved to have scrollbars shrink content size<br> <emeyer> …Question with this is, first, this addresses the auto case, but what about the overflow:scroll case?<br> <emeyer> …Second, even if we preserve outer size of the element, there are features that depend on content size, like container queries and contain-intrinsic-size:auto<br> <emeyer> …By letting auto scrollbars affect content size, we have instability with container queries and contain-intrinsic-size:auto<br> <emeyer> …Maybe it would be simpler to say that if an element has size containment or c-i-s:auto, then overflow:auto would need to computer to overflow:scroll<br> <emeyer> …By forcing the element to consistently get scrollbars, we’d avoid problems, might not look as good<br> <florian> q+<br> <emeyer> …Open to ideas, but finding a solution that covers all problems simultaneously is tricky<br> <iank_> q+<br> <Rossen_> ack florian<br> <emeyer> florian: I think your suggestion of getting stable scrollbars does help<br> <emeyer> …I support that<br> <emeyer> …Maybe we could do indirectoin through scroillbar-gutter properties<br> <emeyer> oriol: Those properties have the stable keyword, but I think it only affects on axis<br> <emeyer> florian: Yeah, maybe that won’t work<br> <miriam> q+<br> <emeyer> …Containment is magic enough already; I think we could make it do strange things like this<br> <emeyer> iank_: I do worry about web compatbility<br> <emeyer> …People throw overflow:auto on random elements<br> <emeyer> …Also, the optimization mentioned in the spec is on a best-case scenario<br> <emeyer> …You aren’t required to use it for whatever reason<br> <Rossen_> ack iank_<br> <emeyer> florian: Ian, did you mean we should let the outer size with overflow:auto change and that regains consistency at the expense of optimization?<br> <emeyer> iank_: Want to think about it a little more, but I would be fine with that<br> <emeyer> …It’s a little bit of a hairy area<br> <Rossen_> ack miriam<br> <emeyer> miriam: Confused about the loop you mentioned of scrollbars getting added due to content<br> <emeyer> …That seems like the same loop we had to work through to get container queries at all, how is this new/different?<br> <emeyer> oriol: You can make contents change size with container queries<br> <emeyer> iank_: This falls into the you-always-move-forward pool<br> <emeyer> …We start assuming no scrollbars, then add if needed<br> <emeyer> oriol: It’s not like browsers are freezing, but if you start forcing things with JS or such, operations that should not affect things visually can change things<br> <emeyer> …I have some examples in the issue of things looking broken<br> <emeyer> iank_: To me, those examples are browser bugs<br> <emeyer> oriol: Then we need to define the expected behavior<br> <emeyer> miriam: I thought we did<br> <emeyer> Rossen: Is is the case that when we start with no scrollbars, you can only add scrollbars in the normal case, excluding container queries?<br> <emeyer> s/Is is/Is it/<br> <emeyer> …Is the proposal to make changing the scrollbar state once per layout a defined behavior?<br> <emeyer> oriol: Yeah, I want to avoid circularities<br> <emeyer> …Mia was saying we can already avoid them, so maybe I missed something<br> <emeyer> …Reading the specification, it seems there’s a circularity<br> <emeyer> …Was proposing a way to keep the content from affecting the content size of the container<br> <miriam> note and example here discuss this exact example: https://www.w3.org/TR/css-contain-3/#containment-inline-size<br> <emeyer> …If there’s another solution that only take a look at size at one point and not others, that may be fine<br> <emeyer> iank_: We said you’re performing a layout and engines will try to optimize, but can skip them<br> <emeyer> …You start with no scrollbars, then add a scrollbar or two if needed, then finish<br> <emeyer> …So you only add scrollbars during layout<br> <emeyer> …It’s tricky to get the optimization correct<br> <emeyer> …This circularity can arise with regular content, so this isn’t particularly new<br> <emeyer> Rossen: Is there a clarification or solution we need to record here, or is there an added step that seems reasonable?<br> <emeyer> miriam: Not sure; I think this is covered and I see this exact case mentioned in the spec, so I need to know what’s unclear and in need of clarification<br> <emeyer> oriol: Even if we use this approach on whether query styles apply or not, there’s a problem with contain-intrinsic-size:auto which remembers the content size<br> <emeyer> …We have some inconsistency here, and I think the other cases are addressed in other ways, but I don’t see this c-i-s problem addressed<br> <emeyer> miriam: It’s likely we do need to clarify here<br> <emeyer> Rossen: Let’s the conversation back to the issue and work out a solution there<br> <emeyer> s/Let’s the/Let’s take the/<br> </details> -- GitHub Notification of comment by css-meeting-bot Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/7875#issuecomment-1479903843 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 22 March 2023 16:36:39 UTC