700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 纯CSS实现返回顶部的功能

纯CSS实现返回顶部的功能

时间:2021-02-06 04:03:17

相关推荐

纯CSS实现返回顶部的功能

下面是 css 锚点跳转的一个例子:

<style>#page-1 {width: 100%;height: 800px;background: red;font-size: 120px;text-align: center;}#page-2 {width: 100%;height: 800px;background: green;font-size: 120px;text-align: center;}#page-3 {width: 100%;height: 800px;background: blue;font-size: 120px;text-align: center;}</style><body><div id="app"><nav><a href="#page-1">1</a><a href="#page-2">2</a><a href="#page-3">3</a></nav><div id="page-1">1</div><div id="page-2">2</div><div id="page-3">3</div></div></body>

实现的效果是点击对应的 a 标签可以跳转到对应的 div 内容。

但是没有实现平滑滚动,比如下面图片的那种效果。

‍‍

我们可以使用:scroll-behavior: smooth;

html {scroll-behavior: smooth;}

MDN :CSS 属性 scroll-behavior 为一个滚动框指定滚动行为,其他任何的滚动,例如那些由于用户行为而产生的滚动,不受这个属性的影响。在根元素中指定这个属性时,它反而适用于视窗。

通常我们使用 JS 实现返回顶部的功能:

document.querySelector("#js-scroll-to-top").addEventListener("click", (e) => {e.preventDefault();window.scroll({top: 0,left: 0,behavior: "smooth" // 指定滚动是否应该平滑进行,还是立即跳到指定位置。});});

当点击“返回顶部”按钮时,用户会看到一些吸引眼球的内容,并且希望停止滚动,因此当他们再次操作鼠标滚轮进行了繁琐的滚动操作,就需要立即停止滚动。通过上面代码的 JS 是无法实现的,但是我们可以通过属性 scroll-behavior 配合锚点跳转来实现。

<style>html {scroll-behavior: smooth;}</style><body><div id="app"><a href="#">回到顶部</a></div></body>

这样就可以了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。