【问题标题】:prevent bootstrap navbar-fixed-bottom overlap防止引导导航栏固定底部重叠
【发布时间】:2016-08-14 16:00:13
【问题描述】:

在某些情况下,引导程序 navbar-fixed-bottom 会与其他内容重叠而不显示滚动条。

例如https://jsfiddle.net/m5vgd9g7/1/:

<div>
  <a class="btn btn-primary" href="#">
    Button
  </a>
</div>

<div class="navbar navbar-default navbar-fixed-bottom"
         style="padding-bottom:0px; min-height:0px">
  bottom
</div>

如果你让显示窗格在垂直方向上很短,文本“底部”会与按钮重叠:

如何防止重叠,所以在它们重叠之前会出现一个垂直滚动条?

【问题讨论】:

    标签: html css twitter-bootstrap


    【解决方案1】:

    你应该在你的顶部 div 添加一个类 row,所以你的顶部 html 看起来像

    <div class="row">
      <a class="btn btn-primary" href="#">
        Button
      </a>
    </div>
    

    这将为您的内容垂直添加一个滚动条。但是当我们声明一个固定的导航栏时,您应该记住将填充/边距添加到导航栏的其余内容的大小,这应该显示其余内容而不会被导航栏侵入。所以你的顶部 div 的最终 html 看起来像,

    <div class="row" style="padding-bottom:15px;">
      <a class="btn btn-primary" href="#">
        Button
      </a>
    </div>
    

    注意:我永远不会使用内联样式,因为从长远来看它会使 html 复杂化并且难以调试。为了演示,我在这里做了。

    小提琴的例子在这里:https://jsfiddle.net/m5vgd9g7/

    编辑

    感谢@JDiMatteo,他对row 类添加发表了评论。我正要维护网格系统中的引导标准。 (参考:http://getbootstrap.com/css/#grid)。显然,row 似乎应该包含在 containercontainer-fluid 类中才能正常工作。这将定义一个行,元素/列(如在引导程序中)可以驻留在其中。通过使用它,您可以摆脱我们之前使用的自定义样式padding/margin

    <div class="container">
      <div class="row">
        <a class="btn btn-primary" href="#">
          Button
        </a>
      </div>
    </div>
    

    【讨论】:

    • 谢谢,这行得通,但你为什么要添加一个行类?似乎解决方案都在填充底部。行类似乎强制水平滚动条,这是不可取的。例如jsfiddle.net/mvneb1yy/1 。另外,我认为您忘记保存小提琴或其他东西,因为它不能反映您的答案。 (对不起,我最初也发布了错误的小提琴网址。)
    • 对小提琴感到抱歉。
    • 关于行类,我试图在引导程序中维护网格系统标准,它使用rowcol-..-.. 来设置网格。刚才我意识到row 类应该包含在container 类中,这应该会让你的生活更轻松。您需要将 padding/margin 设置为您的顶级 div。我现在将编辑答案
    • 你知道如何强制全高,避免滚动条吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 2018-04-25
    • 2017-12-09
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    相关资源
    最近更新 更多