scroll-behavior属性用于控制页面滚动行为是否平滑,常见值为smooth和auto。1. scroll-behavior: auto 是默认行为,点击锚点时页面瞬间跳转,无过渡效果,响应快但跳动感强;2. scroll-behavior: smooth 让页面缓慢滑动到目标位置,视觉更柔和,适合单页网站或导航较多的页面;3. 该属性必须作用在html标签上才生效;4. 不适用于javascript触发的滚动,也不支持自定义时间或动画曲线;5. 在旧版浏览器如ie中可能不被支持。若使用javascript实现滚动,此属性将失效。

在CSS中,scroll-behavior属性用来控制页面滚动行为是否平滑。常见的两个值是smooth和auto,它们直接影响用户点击锚点链接时的滚动体验。
scroll-behavior: auto 是默认行为
浏览器默认情况下,当你点击一个锚点链接(比如),页面会瞬间跳转到目标位置,没有任何过渡或动画效果。这就是scroll-behavior: auto的表现。
- 这种方式响应快,适合追求效率的网站。
- 但有时候会让用户感觉“跳动”感太强,不够友好。
如果你没有在CSS中设置过这个属性,那你的网页就是用的这种行为。
立即学习“前端免费学习笔记(深入)”;
scroll-behavior: smooth 带来平滑滚动
当你设置了:
html {
scroll-behavior: smooth;
}那么所有锚点跳转都会变成缓慢滑动过去的效果,而不是直接跳过去。
- 用户体验更柔和,视觉上更舒服。
- 特别适合单页网站、介绍型页面或导航内容较多的场景。
例如,点击一个指向页面下方的链接,页面会以匀速或缓动的方式慢慢滚到目标位置。
需要注意的是:
- 只对锚点跳转有效,不适用于JavaScript触发的滚动。
- 不支持自定义滚动时间或动画曲线。
使用时的一些细节和注意事项
-
必须作用在
html标签上,写在其他元素上不会生效。 - 在某些旧版浏览器(如IE)中可能不被支持,使用前最好检查兼容性。
- 如果你用了JavaScript做自定义滚动,比如jQuery的
animate(),那scroll-behavior就不会起作用了。
举个例子:
关于我们这里是关于我们的内容
加上下面这段CSS后,点击链接时就会有平滑滚动效果:
html {
scroll-behavior: smooth;
}基本上就这些。这个属性虽然简单,但在提升用户体验方面还是挺实用的,特别是对于不需要复杂交互的站点来说,加一行CSS就能让滚动看起来更专业一些。










