我有这样的两列布局:
<div class="row">
<div class="col-xs-8 content">
</div>
<div class="col-xs-4">
</div>
</div>
如果我将 position:sticky
设置为侧栏列,我会得到侧栏的粘性行为: https ://codepen.io/marcanuy/pen/YWYZEp
CSS:
.sticky {
position: sticky;
top: 10px;
}
HTML:
<div class="row">
<div class="col-xs-8 content">
</div>
<div class="col-xs-4 sticky">
</div>
</div>
但是当我将 sticky
属性设置为 仅 位于侧边栏中的 菜单 时,因此 相关文章 部分正常滚动并使用 菜单 div 获得 粘性 行为,它不起作用:
<div class="row">
<div class="col-xs-8 content">
</div>
<div class="col-xs-4">
<div class="menu sticky">
</div>
</div>
</div>
这是第一个示例的截屏视频,该示例使用粘性行为滚动整个侧边栏,然后将粘性属性更改为不起作用的菜单:
Bootstrap 4 建议 将 sticky 属性作为对 Affix jQuery 插件的支持:
删除了 Affix jQuery 插件。我们建议使用 position:sticky polyfill 代替。
我已经在以下方面进行了测试:
Firefox 47.0 与
css.sticky.enabled=“true”
在about:config
Chrome 50.0.2661.94(64 位)与
experimental Web Platform features
在chrome://flags
--- 中启用
(这不是 如何在 Bootstrap 中制作粘性侧边栏的副本? 因为那个使用的是 BS 词缀)
原文由 marcanuy 发布,翻译遵循 CC BY-SA 4.0 许可协议
我解决了启用
flexbox
。在 Bootstrap 的 Github 存储库中提出问题后,我得到了 Bootstrap 成员 的回答: