在滚动容器(或 html)上写 scroll-behavior: smooth,之后所有锚点跳转、scrollIntoView()、scrollTo() 都会带上丝滑过渡,而不是默认的瞬移。一行替换了以前几十行的缓动函数实现。
适合做「回到顶部」按钮、文章目录锚点、长向导页的连续步骤。需要精细控制时长/缓动时仍可走 JS;尊重用户「减少动态」偏好的写法是包在 @media (prefers-reduced-motion: no-preference) 里。
<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>