用于稳定滚动条槽的一点点CSS
我将我的操作系统配置为使用可见滚动条,这是macOS系统设置中显著提升的一个功能,高到似乎暗示某种程度的常见使用(尽管它不是默认设置)。
我不一定更喜欢这个功能启用的行为,但我在浏览网页时将其用作隐式的质量衡量标准。
我通常看到以下问题:
- 具有水平溢出(以及匹配的滚动条)的页面更明显。
- 当网站切换文档级
overflow: hidden来切换模态框/对话框时,页面可能会水平移动约20px。 - 在特别慢的页面上,你甚至可能在渐进式渲染内容比填充一个"页折"慢时看到页面移动。
人们可以解决这个问题的最简单方法是在CSS重置中添加html { overflow-y: scroll; },这可能是非常容易减少那些内容布局移动问题的好方法!但这个小片段会给每个页面添加滚动条。
要仅在需要时显示滚动条(同时为稍后添加的滚动条保留空间),请使用scrollbar-gutter CSS属性。scrollbar-gutter是Baseline 2024新可用,所以确保你用@supports守卫来增强它。
html {
overflow-y: scroll;
}
@supports (scrollbar-gutter: stable) {
html {
overflow-y: auto;
scrollbar-gutter: stable;
}
}
这看起来很适合你的重置样式表。
相关内容:
4 评论
W3C CNB
2025/01/16杨生富态 CNB
2025/04/22cjSound CNB
2025/04/13严波 - 为霞尚满天 CNB
2025/05/30