Skip to content
On this page

记录一下浏览器的滚动行为:

1、Scroll Snap 是 css 中一个独立的模块,可以让元素停止滚动的时候平滑吸附。目前可以放心在移动端使用。

作用在滚动容器上作用在定位子项上
scroll-snap-type / scroll-snap-stop / scroll-padding / scroll-padding-*scroll-snap-align / scroll-margin / scroll-margin-*

2、scroll-behavior: auto | smooth | unset | initial | inherit 可以让滚动容器出现锚点定位,或者 JS 设置 scrollLeft/scrollTop 滚动距离时候表现为平滑定位。目前可以大胆使用。

3、overscroll-behavior: auto | contain | none 属性可以让滚动嵌套时父滚动不触发,比方说弹框中的滚动滚到底部的时候,背后的页面会纹丝不动。可用于弹窗内容滚动,下拉列表的滚动。

4、overflow-anchor: auto | none 属性作用是让页面图片动态加载了很多内容的时候,当前视区的内容保持不变。

5、scrollbar-width: auto | thin | none 可以用来自定义滚动条的宽度,不过不能指定具体数值,只能是正常(17px),细(8px)和没有。主要针对 windows 系统下的 Firefox 浏览器,因为 Mac OS X 或iOS 操作系统滚动条默认就不占据宽度,没必要使用这个,而 Chrome 浏览器可以使用 -webkit-scrollbar 伪元素自定义滚动条的宽度,用不到 scrollbar-width 设置。

6、scrollbar-color: auto | 滑杆颜色 轨道颜色 可以设置滚动条的颜色,和 scrollbar-width 一样,仅 Firefox 浏览器支持。

自定义滚动条可以使用 -webkit-scrollbar-webkit-scrollbar-thumb-webkit-scrollbar-track

7、scrollbar-gutter: auto | stable | stable both-edges 可以让滚动条出现的时候内容不晃动。大胆使用,适合桌面 web 端。

Released under the MIT License.