CSS 中的 scroll-behavior
属性是一个非常新的属性。定义要求 scroll-behavior
(尤其是在选择锚链接时)具有平滑的过渡动画外观,而不是默认的、更刺眼的即时跳转。
html {
scroll-behavior: auto | smooth;
}
scroll-behavior
属性接受两个值,将切换打开和关闭的平滑滚动功能。
auto
(默认):该值允许滚动框中的元素之间突然跳转。smooth
:顾名思义,该值是滚动框内元素之间的平滑的过渡动画。
它是较新的属性,支持 Chrome 61+、Firefox 36+ 和 Opera 48+ 等主流浏览器。
默认情况下,通过单击锚链接定位页面中的元素,浏览器将直接跳转到目标。
在不使用任何 JavaScript 的情况下,我们可以使用简单的 CSS scroll-behavior
属性平滑地滚动到给定的元素。
这里给出一个平滑滚动到顶部的示例,在 <html>
元素上提供以 ID 为目标的链接:
<html id="top">
<body>
<a href="#top">跳转到页面顶部</a>
</body>
</html>
将 scroll-behavior
属性设置为 html
元素可实现整个页面的平滑滚动效果:
html {
scroll-behavior: smooth;
}