0
我试图让两个孩子在容器内不会溢出。
这里是我的问题的例子:https://jsfiddle.net/195em81t/CSS - 保持容器内的儿童
我希望它这样,如果#footer
出现时,它会采取容器的20%,#content
将填补另外的80%,如果需要添加一个滚动条。
我不想设置#content
硬80%的高度,有时#footer
将不存在于欲#content
这种情况下采取的高度的100%;
我试图让两个孩子在容器内不会溢出。
这里是我的问题的例子:https://jsfiddle.net/195em81t/CSS - 保持容器内的儿童
我希望它这样,如果#footer
出现时,它会采取容器的20%,#content
将填补另外的80%,如果需要添加一个滚动条。
我不想设置#content
硬80%的高度,有时#footer
将不存在于欲#content
这种情况下采取的高度的100%;
您可以使用flexbox。通过使用flex-grow
属性,Flex项目可以增长以填充剩余空间。
.container {
height: 200px;
width: 100px;
border: 2px;
border-style: solid;
display: flex;
flex-direction: column;
}
.content {
flex: 80%; /* Start at 80%, then grow to fill remaining space */
overflow: auto; /* In case contents are too tall */
}
.footer {
flex: 20%; /* Start at 20%, then grow to fill remaining space */
overflow: auto; /* In case contents are too tall */
}
<div class="container">
<div class="content">
Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br>
</div>
<div class="footer">
Footer
</div>
</div>
<hr />
<div class="container">
<div class="content">
Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br>
</div>
</div>