css - Bootstrap 词缀高于内容,滚动失败

标签 css twitter-bootstrap twitter-bootstrap-3

我和 this question 的作者有同样的问题带有词缀的展品,特别是作者对接受的答案的评论。回答者提供了二次解决方案,但这并不令人满意。

出现以下所有情况时会出现此问题:

  1. 附加的 div 比视口(viewport)高
  2. 附加的 div 是页面的最高部分
  3. 用户滚动到 affix-top

它在这个 JSFiddle 中进行了演示:https://jsfiddle.net/g1ns9k8o/3/使用以下代码:

CSS:

.top-bit { height: 100px; }
.sidebar { width: 200px; padding: 10px; }
.sidebar.affix { top: 10px; }

HTML:

<div class="top-bit">
</div>

<div class="row">
    <div class="col-xs-9">
        <!-- short content -->
    </div>
    <div class="col-xs-3">
        <div class="sidebar" data-spy="affix" data-offset-top="100">
            <!-- long content -->
        </div>
    </div>
</div>

最佳答案

我遇到了这个问题并遇到了抖动的滚动运动。为了修复它,我使用 JavaScript 将附加元素的高度与它旁边的元素进行比较。如果附加高度小于内容高度,则设置词缀。否则,就让附加元素留在原处。

所以,假设这是我正在修复内容元素旁边的侧边栏。

// Pseudocode
if (sidebar.height < content.height) {
    $(sidebar).affix({});
}

关于css - Bootstrap 词缀高于内容,滚动失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26802564/

相关文章:

html - 仅为居中主体设置背景颜色属性

css - 试图让 Bootstrap 列以我想要的方式折叠

angularjs - 如何使用 AngularJS 创建可排序的 Accordion ?

javascript - 没有为 CSS 使用外部样式表会导致我的代码无法执行吗?

css - print-break-inside 在 IE11 上将元素拉伸(stretch)到整个页面

twitter-bootstrap - Bootstrap 3 移动菜单 100% 高度

css - 如何创建一个背景延伸到屏幕最左侧而不是内容的列?

html - Bootstrap 隐藏/删除滚动条

html - 使用 CSS 在鼠标悬停时显示不同的 'height' 链接

html - Bootstrap hero-unit 没有出现在网络上,可能是 z-index 错误