我想拥有一个父元素,它具有最大高度和填充此父元素的子元素。如果孩子的内容超过了父母,应该出现一个滚动条。我试图解决这个问题是这样的:孩子比拥有最大身高的父母大。溢出没有效果
HTML:
<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>
CSS:
div.parent {
max-height: 50px;
width: 100px;
border: 1px solid black;
}
div.child {
height: 100%;
overflow-y: auto;
}
不幸的是预期,这并不工作。孩子长大了父母。
请注意,设置overflow-y:auto到PARENT不是一个选项,因为它被怀疑保存了其他不应该滚动的项目。怀疑孩子会填满父母留下的空间。有关更多信息,请参阅实时DEMO。
将'max-height'更改为'height'似乎有效。不知道它是不是你想要的... – LinkinTED
你必须指定子元素的高度。否则,溢出将无法工作。 – rgin
这应该解释为什么它不工作:http://stackoverflow.com/questions/5657964/css-why-doesnt-percentage-height-work至于解决方案...要么为包含元素设置特定的高度,要么使用JavaScript。编辑:设置包含元素的特定高度不会完全解决问题,因为'100%'会模仿父母的确切高度。 – SombreErmine