html - 使用具有固定位置 div 的 Bootstrap 网格

标签 html css twitter-bootstrap

我正在尝试使用 Bootstrap 网格布局,但也尝试使用一个在您向下滚动页面时垂直固定的 div。为了修复 div,我使用了“position:fixed”,但这似乎破坏了包含类。文本溢出到下一列,这是不应该的。

    <div class="container">
    <div class="row-fluid">
        <div class="col-md-1">
            <div>
                Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque blandit euismod dolor id posuere. In vulputate lacinia sem vel dignissim. Donec eu ornare lacus. Vestibulum quis enim et mauris mattis commodo blandit eget lectus. Sed sem augue, aliquet ac vulputate in, congue suscipit justo. Duis ac rhoncus tellus. Sed eu faucibus leo. Mauris imperdiet nisi vitae nisi varius, a egestas purus laoreet. Suspendisse eu sodales mi. Nunc in laoreet ipsum, id mattis massa. Sed in iaculis augue, vel commodo turpis. Aliquam placerat velit in justo vulputate, eu pulvinar nunc facilisis. Maecenas sit amet purus est. Integer in pharetra tortor. Donec ac lorem massa. Fusce ac eros pharetra, blandit tellus at, varius velit. 
            </div>
        </div>
        <div class="col-md-5">
            <div>
                Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque blandit euismod dolor id posuere. 
            </div>
        </div>

        <div class="col-md-3">
            <div style="position:fixed">
                <b>This should remain fixed as I scroll down the page</b> 
            </div>
        </div>

        <div class="col-md-3">
            <div>
                Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque blandit euismod dolor id posuere. 
            </div>
        </div>
    </div>
</div>

我应该怎么做才能在滚动时保持 div 固定,同时还要遵守 Bootstrap 设置的网格布局?

最佳答案

我为解决这个问题所做的是让 jQuery 在页面加载时获取 div 的大小,然后将其传递给内部 div 的 css。像这样:

var divWidth = $( '.yourDiv' ).width();

这将在页面加载后立即获取宽度。

function keepDivWidth() {
  $( window ).scroll( function () {
    var top = $( window ).scrollTop();
    if ( top >= 10 ) ) {
      $( '.yourDiv' ).addClass( 'fixed' );
      $( '.yourDiv' ).css({
         "width" : divWidth
         })
    }else{
      $( '.yourDiv' ).removeClass( 'fixed' );
      $( '.yourDiv' ).css({
        "width" : ""
      })
    }
  })
}(jQuery);

if ( top >= 10 ) 部分可以是任何你想要的。 “10”只是填充 然后就像在网页中调用新功能一样简单!

$(document).ready(function(){
    keepDivWidth();
});

或者,我认为您可以将需要的内容包装在具有行类的 div 中。不过我还没有测试过。

关于html - 使用具有固定位置 div 的 Bootstrap 网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22044894/

相关文章:

css - 表格元素和CSS显示:table有什么区别

jquery - 最后一张幻灯片后的 Bootstrap 轮播高度正在改变

html - 强制带有图标的跨度与前面的跨度换行

html - 如何在 Facebook 上设置 Like 评论弹出链接的样式?

ruby-on-rails - ScrollSpy 未在 bootstrap 3 中激活

html - 将 CSS 与 Bootstrap 框架结合使用

html - 在 MVC 3 Razor 中以两列而不是一列显示字段的模板

javascript - 某处有点小错误。需要帮助

html - 显示 : block showing all my <span>s inline

html - Bootstrap open-modal 滚动问题