Bootstrap 5 Scrollspy
Scrollspy
Scrollspy 用于根据滚动位置自动更新导航列表中的链接。
如何创建 Scrollspy
下例展示如何创建 Scrollspy:
实例
<!-- 可滚动区域 --> <body data-bs-spy="scroll" data-bs-target=".navbar" data-bs-offset="50"> <!-- 导航栏 - <a> 元素用于跳转到可滚动区域中的某个部分 --> <nav class="navbar navbar-expand-sm bg-dark navbar-dark fixed-top"> ... <ul class="navbar-nav"> <li><a href="#section1">Section 1</a></li> ... </nav> <!-- Section 1 --> <div id="section1"> <h1>Section 1</h1> <p>请尝试滚动此页面并在滚动时查看导航栏!</p> </div> ... </body>
例子解释
将 data-bs-spy="scroll" 添加到用作可滚动区域的元素(通常是 <body> 元素)。
然后添加 data-bs-target 属性,其值为 id 或导航栏的类名(.navbar)。这是为了确保导航栏与可滚动区域相连。
请注意,可滚动元素必须与导航栏列表项内的链接 ID 匹配(<div id="section1"> 匹配 <a href="#section1">)。
可选的 data-bs-offset 属性规定在计算滚动位置时从顶部偏移的像素数。当导航栏中的链接在跳转到可滚动元素时,如果您感觉过早更改了活动状态时,这很有用。默认值为 10 像素。
需要相对定位:带有 data-bs-spy="scroll" 的元素需要 CSS position 属性的值设置为 "relative" 才能正常工作。