Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[css-overflow-4] effect of gutters on viewport units #5254

Open
frivoal opened this issue Jun 23, 2020 · 4 comments
Open

[css-overflow-4] effect of gutters on viewport units #5254

frivoal opened this issue Jun 23, 2020 · 4 comments
Assignees
Labels
css-overflow-3 Current Work css-values-4 Current Work

Comments

@frivoal
Copy link
Collaborator

frivoal commented Jun 23, 2020

https://drafts.csswg.org/css-values/#viewport-relative-lengths says:

The viewport-percentage lengths are relative to the size of the initial containing block. When the height or width of the initial containing block is changed, they are scaled accordingly. However, when the value of overflow on the root element is auto, any scroll bars are assumed not to exist.

This is fine if we have overlay scrollbars, and scrollbar-gutter is auto or stable, since no space is consumed for the scrollbar anyway.

This seems regrettable, but probably unavoidable, if we have classic scrollbars and scrollbar-gutter is auto, since the presence or absence of scrollbars will depend on layout, and having the viewport units depend on layout is problematic.

However, if we have classic scrollbars and scrollbar-gutter is stable (or always, which does the same thing in the case of classic scrollbars), it would seem much preferable for the viewport percentage units to be relative to the ICB as reduced by the always-present gutter.

For overlay scrollbars with analways scrollbar-gutter, I suspect it should they should also be relative to the ICB as reduced by the always-present gutter, but I am less sure, and the answer might depend on the resolution to #5253.

@frivoal frivoal self-assigned this Jun 23, 2020
@frivoal
Copy link
Collaborator Author

frivoal commented Jun 23, 2020

cc: @felipeerias

@felipeerias
Copy link

@frivoal : would the both value affect this as well?

@frivoal
Copy link
Collaborator Author

frivoal commented Jul 9, 2020

Good question. I'd say yes, so that width: 100vw gets you exactly the largest size that fits without overflowing

@Sugarteeth
Copy link

Sugarteeth commented Aug 19, 2021

I've seen things as outlandish as introducing new units to css just to avoid changing the root problems with the default implementation of vh/vw, both on desktop and mobile. Why don't we implement something like the box-sizing rule, but for scrollbars, to switch whether or not the scrollbar or chrome is considered a part of the viewport or not? There doesn't need to be a debate on how vw/vh should work if the individual user can decide for themselves.

Call it something like "viewport-box" maybe, and have the options be like "chrome-(inside|outside), scroll-(inside|outside)", with chrome-ouside & scroll-inside being the default as it is now. No worrying about backwards compatibility, just make the current implementation the default and put the onus on the user.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
css-overflow-3 Current Work css-values-4 Current Work
Projects
None yet
Development

No branches or pull requests

3 participants