Skip to content

[css-overflow-4] Allow scrollable overflow to be clipped in off-axis #12289

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

Open
flackr opened this issue Jun 5, 2025 · 1 comment
Open

[css-overflow-4] Allow scrollable overflow to be clipped in off-axis #12289

flackr opened this issue Jun 5, 2025 · 1 comment

Comments

@flackr
Copy link
Contributor

flackr commented Jun 5, 2025

When developers create scrolling containers that are only intended to scroll in one direction, they'll sometimes have content which slightly overflow in the other axis. Per the css-overflow-3 spec:

The visible/clip values of overflow compute to auto/hidden (respectively) if one of overflow-x or overflow-y is neither visible nor clip.

This seems to mean that even if you set the off axis overflow to clip it will still compute to hidden. While this is not a problem for user scrolling, overflow: hidden is still programmatically scrollable. Calls to scrollIntoView or anchor link scrolls can accidentally vertically scroll to your overflowing content. Worse yet, a user has no way to undo this after it happens.

This originally came up as a scroll-marker bug crbug.com/422733086 (Demo), however this problem can easily occur with existing content. E.g. consider this demo with "accidental" vertical scrolling when clicking on an item to scroll it into view: https://jsbin.com/voxohip/edit?html,css,js,output

Proposal: We should allow overflow clip in the off axis to make that axis not scrollable. E.g. overflow: auto clip; should allow creating a scroll container which cannot be scrolled vertically.

@flackr
Copy link
Contributor Author

flackr commented Jun 5, 2025

@una FYI

@flackr flackr added the Agenda+ label Jun 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant