这个问题在这里已有答案:
我正在尝试在右侧创建一个粘性边栏。侧边栏菜单位于网格列内。我使用sticky-top
类作为shown in this question,但它仍然无效。
这是代码......
<div class="container min-vh-100 overflow-hidden">
<nav class="navbar navbar-light navbar-expand">
<a class="navbar-brand" href="#">Brand</a>
<ul class="navbar-nav">
<li class="nav-item"><a href="#" class="nav-link">Home</a></li>
</ul>
</nav>
<div class="row">
<div class="col-sm-8 content pt-4">
...
</div>
<div class="col-sm-4">
<div class="menu sticky-top p-3 bg-light">
<h5 class="text-primary">Sticky menu</h5>
<div class="nav flex-column">
<a href="#" class="nav-link pl-0">Menu 1</a>
<a href="#" class="nav-link pl-0">Menu 2</a>
<a href="#" class="nav-link pl-0">Menu 3</a>
</div>
</div>
</div>
</div>
</div>
Codeply:https://www.codeply.com/go/xwYPD1B1tk
当用户向下滚动时,menu
div是我想要坚持到顶部的那个。
我发现如果粘性元素的任何父容器使用overflow:hidden
,粘性将不起作用。从容器中删除overflow-hidden
类允许sticky-top
工作。
<div class="container min-vh-100 overflow-hidden">
<nav class="navbar navbar-light navbar-expand">
..
</nav>
<div class="row">
<div class="col-sm-8 content pt-4">
...
</div>
<div class="col-sm-4">
<div class="menu sticky-top p-3 bg-light">
<h5 class="text-primary">Sticky menu</h5>
<div class="nav flex-column">
...
</div>
</div>
</div>
</div>
</div>