CSS3 词条目录
前端Wiki/词条/scroll-behavior 平滑滚动

scroll-behavior 平滑滚动

定义让页面或容器的锚点跳转与滚动 API 调用自带平滑动画,一行 CSS 替代 JS

在滚动容器(或 html)上写 scroll-behavior: smooth,之后所有锚点跳转、scrollIntoView()、scrollTo() 都会带上丝滑过渡,而不是默认的瞬移。一行替换了以前几十行的缓动函数实现。

适合做「回到顶部」按钮、文章目录锚点、长向导页的连续步骤。需要精细控制时长/缓动时仍可走 JS;尊重用户「减少动态」偏好的写法是包在 @media (prefers-reduced-motion: no-preference) 里。

HTML
<style>
  html { scroll-behavior: smooth; }
  nav { position: sticky; top: 0; background: #fff; }
</style>
<nav><a href="#s2">跳到第二节</a></nav>
<div style="height:800px">长页面第一节</div>
<h2 id="s2">第二节(平滑滚动到达)</h2>
⚠ 常见误区
🔗 相关词条滚动吸附 scroll-snap伪类与伪元素
← 返回来源章节实战响应式导航