【问题标题】:Bootstrap : how to disable vertical scrollbar?Bootstrap:如何禁用垂直滚动条?
【发布时间】:2013-07-17 14:11:17
【问题描述】:

当我的模态弹出窗口打开时,它会在浏览器窗口的右侧添加一个垂直滚动条。我该如何禁用它?我认为当模态窗口需要滚动的高度值非常大时启用此功能。我想禁用它,因为我的表单高度不超过窗口高度。

【问题讨论】:

  • 这与 Bootstrap 关系不大。熟悉 Firebug 或 Chrome 的开发工具并检查 HTML 结构。根据需要使用 CSS 进行修改。
  • 我怀疑这表明另一个问题——可能是错误的标记。请务必验证。
  • @isherwood - 这确实与引导程序有关。正如 alx 在下面的回答中所指出的,bootstrap 3 确实包含指令 .modal { overflow-y: scroll;不知道为什么它不是自动的,但无论如何......

标签: html css twitter-bootstrap bootstrap-modal


【解决方案1】:

在你的css中添加:

body {
  overflow-y:hidden;
}

【讨论】:

  • 它还为body添加了一个modal-open类,它会在右边添加15px的边距,可能是为了补偿scollbar,但如果滚动条不可见,则将内容向左移动.添加此定义以删除:body.modal-open, .modal-open .navbar-fixed-top, .modal-open .navbar-fixed-bottom { margin-right: 0; }
【解决方案2】:

我对 bootstrap 3.0.0 也有同样的问题。似乎.modal 类具有overflow-y: scroll 规则,导致滚动条始终可见。

所以,您可以在本地修改它:

<div class="modal" ... style="overflow-y: auto;">
    ...
</div>

或全局:

<style>
.modal {
    overflow-y: auto;
}
</style>

【讨论】:

  • 不错1!这按预期工作,应该是选择的答案。谢谢。
  • 问题是:为什么Bootstrap会这样设置?除非我确切地知道发生了什么,否则我不会碰它。提问于:github.com/twbs/bootstrap/issues/7972
  • 我还必须从 body 标签中删除填充。所以这个组合对我有用。 .modal {overflow-y: auto;} .modal-open {padding-right:0!important;}
【解决方案3】:

将样式添加到正文:

body { 
  padding-right: 0px !important;
  overflow-y: hidden !important;
}

【讨论】:

    【解决方案4】:

    如果模型窗口高度不超过正常窗口高度,则显示滚动条没有任何意义。检查天气任何用于淡化模型窗口后面背景的&lt;div&gt;&lt;/div&gt; 比视点高。

    【讨论】:

      【解决方案5】:

      如果您的表格是诸如&lt;div class="table-responsive"&gt; 之类的 div 的子表,请在父 div 标签中添加以下样式,以便 div 标签现在显示为:&lt;div class="table-responsive" style="overflow-y: hidden"&gt;

      注意:您的 div 可能应用了不同于 .table-responsive 的样式,在这种情况下这仍然有效。

      您还可以覆盖 tabletbody 标签中的样式,如果没有父 div 标签的样式允许表格滚动,这将很有效。如果有这样的父 div 标签,当您应用以下样式时,您仍然可以锁定表格以防止滚动,但包含父 div 的滚动条仍将显示,尽管已禁用。因此,在 table 标记中,它将是:&lt;table style="overflow-y: hidden"&gt; 或在 tbody 标记的情况下:&lt;tbody style="overflow-y: hidden"&gt;

      即使您的 div、table 或 tbody 标签正在应用来自外部(例如 bootstrap)的其他样式或自定义样式,上述方法仍然有效。所以如果你有一个标签,比如&lt;table class="table table-sm table-striped"&gt;,你仍然可以这样做:&lt;table class="table table-sm table-striped" style="overflow-y: hidden"&gt;

      如果你想禁用水平和垂直滚动,你只需要在你的样式属性中添加以下内容,这样它现在就变成了:style="overflow-x: hidden; overflow-y: hidden"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-17
        • 2013-10-26
        • 2014-02-13
        • 2020-06-07
        • 1970-01-01
        • 2019-03-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多