CSS最大高度和溢出汽车始终显示垂直滚动(CSS max-height and overflow a

2019-07-29 02:07发布

我有一个div类中设置了以下CSS样式:

div.multiple_choice{
    border: 1px solid black; 
    max-width: 300px; 
    max-height: 200px; 
    overflow: auto;
}

问题是,当里面的文字不会强制DIV达到200像素的最大高度,垂直滚动条仍然显示。 我可以点击向上和向下箭头,但它只有大约一个像素或两个上下移动的内容。

这是发生在谷歌浏览器(版本18.0)和Iceweasel 11。

Answer 1:

事实证明,另一个CSS样式是导致该问题:

body{
    line-height: 1;
}

任何有兴趣了解如何以及为什么这会导致一个问题,可以阅读有关line-height属性在这里



Answer 2:

我有遇到这样的问题。但我解决了这个使用以下css样式:

div.yourcontainer{overflow-y:auto;}

如果容器比最大高度越高,垂直滚动条会显示。



Answer 3:

我是有这个问题,我发现有position: relative的子元素是造成问题。 显然,这不可能是每个人的解决方案,特别是如果position: absolute正在被使用,但对我来说它的工作。



Answer 4:

我今天早些时候跨越这个bug来了。 在我的情况的子元素的列表显示了:inline-block的,而不是显示:块。 切换为display:block我在截DIV子元素的列表固定我的问题。



Answer 5:

我也有使用引导和NAV这个问题。 它的发生是因为在自举NAV-突片definds锂为: .nav-tabs > li { margin-bottom:-1px; } .nav-tabs > li { margin-bottom:-1px; } 。 为了解决这个问题,还必须做到:

.nav-tabs > li:last-child {
   margin-bottom:0;
}

如果没有设置最后一个孩子,下面的例子中会始终显示滚动,不管有多少内容是在列表中:

<ul class="navs nav-tabs nav-stacked" style="max-height:80px;overflow:auto;">
  <li></li>
  ...
</ul>


Answer 6:

我试图总结在一个div反应组件的列表(柔性柱)时,这个问题,我通过改变各列表项内的元素余量为0解决它。

解决这对我的方法是检查列表项(也许每个<li>在OP),看看所做的东西风格的DIV觉得每个项目比什么可见的人的眼睛变大。

这里是我的项目列表项中的图标检查流氓保证金的例子:

解决办法是设置图标的风格有0垂直边距,但在我的应用我只是做了所有的保证金0,并添加一些填充右。



文章来源: CSS max-height and overflow auto always displays vertical scroll