Affix 插件允许将元素附加(锁定)到页面上的某个区域。这通常与导航菜单或社交图标按钮一起使用,以便在上下滚动页面时使它们在特定区域"stick"。
插件切换这种行为打开和关闭(改变值CSS position
从static
到fixed
),取决于滚动位置。
示例1)固定导航栏:
示例2)固定侧边栏:
使用 Affix,当我们上下滚动页面时,菜单始终可见并锁定在其位置。
以下示例显示如何创建水平固定导航菜单:
以下示例显示如何创建垂直固定导航菜单:
添加data-spy="affix"
到您想要附加的元素。
(可选)添加data-offset-top|bottom
属性来计算滚动的位置。
affix 插件在三个类之间切换:.affix
,.affix-top
, 和.affix-bottom
。每个类别代表一个特定的状态。您必须添加 CSS 属性来处理实际位置,但以下情况除外position:fixed
于.affix
类。
.affix-top
或者.affix-bottom
class 来指示元素位于最顶部或最底部位置。此时不需要使用 CSS 进行定位。.affix-top
或者.affix-bottom
类与.affix
类(套position:fixed
)。此时,您必须添加 CSStop
或者bottom
属性来在页面中定位附加元素。.affix
与 一起上课.affix-bottom
。由于偏移量是可选的,因此设置偏移量需要您设置适当的 CSS。在这种情况下,添加position:absolute
必要时。在上面的第一个示例中,Affix 插件添加了.affix
当我们从顶部滚动 197 像素时,将 class (position:fixed) 添加到 <nav> 元素。如果您打开示例,您还会看到我们添加了 CSStop
值为 0 的属性.affix
类。这是为了确保当我们从顶部滚动 197 像素时,导航栏始终保持在页面顶部。
将 Affix 插件与滚动间谍插入:
<body data-spy="scroll" data-target=".navbar" data-offset="50">
<nav class="navbar navbar-inverse" data-spy="affix" data-offset-top="197">
...
</nav>
</body>
亲自试一试 »
<body data-spy="scroll" data-target="#myScrollspy" data-offset="15">
<nav class="col-sm-3" id="myScrollspy">
<ul class="nav nav-pills nav-stacked" data-spy="affix" data-offset-top="205">
...
</nav>
</body>
亲自试一试 »
有关所有附加方法和事件的完整参考,请访问我们的Bootstrap JS 词缀参考。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!