html - 使用 href="#" 使页面滚动到顶部
问题描述
在可滚动页面的底部,我有一个“返回顶部”按钮,我不确定是否仅href="#"
用于完成这项工作。我也知道一些解决相同问题的函数/脚本,但我非常喜欢这种非常简单的方法。
所以我的问题是:href="#"
如果是关于滚动顶部作业,使用的具体缺点或危险是什么?
解决方案
锚标记用于在页面内导航。如果您将此留空,则正常行为将是滚动到页面顶部。您乱七八糟地链接到死胡同,这是一种不良行为。我建议在您的页面顶部添加一个视觉上隐藏的跨度并给这个 div 一个 ID。这样你就可以在你的href中引用这个ID。使用scroll-behavior: smooth
属性,您可以通过这种方式添加非常平滑的滚动功能
其他解决方案将是 javascript。
div{ height: 100vh; }
a { position: fixed; top: 50%; left: 50vh; }
#upper{ position: absolute; top: 0; }
<span id="upper"></span>
<div><h1>Title</h1></div>
<div><h1>Title</h1></div>
<div><h1>Title</h1></div>
<div><h1>Title</h1></div>
<div><h1>Title</h1></div>
<a href="#upper">Back to top</a>
推荐阅读
- python - 如何让我的下一个 elif 语句打印?
- amazon-web-services - aws.events 的 EventBridge 规则问题
- firebase - 如何在functions.https.Request上检索原始主机头?
- python - 如何使用 BeautifulSoup 删除两个 HTML 注释之间的所有内容
- lua - 当我在聊天中输入“M”时,我的 GUI 会弹出
- qt - 如何用 QT 6,0 制作窗户?
- javascript - Chrome 扩展程序 - 在运行内容脚本之前等待页面完全加载
- python - 如何使 HTML 按钮在单击时执行 python 代码?
- java - java.util.HashMap 无法强制转换(android studio、firebase、java)
- flutter - 如何在 Flutter 中使用 Defaultabcontroller 和 Provider