【发布时间】:2013-10-06 06:27:04
【问题描述】:
我想要一个具有最大高度的父元素和一个填充该父元素的子元素。如果子项的内容超出父项,则应出现滚动条。我试图这样解决它:
div.parent {
max-height: 50px;
width: 100px;
border: 1px solid black;
}
div.child {
height: 100%;
overflow-y: auto;
}
<div class="parent">
<div class="child">
<div class="some-content">
abcde<br>abcde<br>abcde<br>abcde<br>abcde<br> abcde
<br>abcde<br>abcde<br>abcde<br>abcde<br> abcde
<br>abcde<br>abcde<br>abcde<br>abcde<br> abcde
<br>abcde<br>abcde<br>abcde<br>abcde<br> abcde
<br>abcde<br>abcde<br>abcde<br>abcde<br>
</div>
</div>
</div>
不幸的是,这并没有按预期工作。孩子比父母长大。
请注意,将 overflow-y: auto 设置为 PARENT 不是一个选项,因为它被怀疑包含不应滚动的其他项目。怀疑孩子填补了父母留下的空间。更多信息,请查看现场演示。
【问题讨论】:
-
将
max-height更改为height似乎有效果。不知道是不是你想要的…… -
你必须指定子元素的高度。否则溢出将不起作用。
-
这应该可以解释为什么它不起作用:stackoverflow.com/questions/5657964/… 至于解决方案...要么为包含的元素设置一个特定的高度,要么使用 JavaScript。编辑:为包含元素设置特定高度也不能完全解决问题,因为
100%将模仿父级的确切高度。