【发布时间】:2018-02-20 23:33:52
【问题描述】:
我有一个 3rd 方,可滚动,具有 100% 高度元素(我不想修改)。我想把它放在一个父 div 里面,这样它就会填满所有剩余的空间。
我曾尝试使用 Flex 来做到这一点。 (见代码 sn-p)。 我遇到的问题是,由于第 3 部分元素的内容,子 div 变得比父 div 高。 有没有办法让 flex 缩小孩子以适应父母的剩余尺寸?
编辑:如果可能的话,我想避免任何硬编码的数字,并让 flex 动态适应大小,以便 tall_child 适应剩余的父大小。
.parent {
background-color : blue;
height : 50vh;
display : flex;
flex-direction: column;
}
.header {
background-color : red;
height : 50px;
width : 80%
}
.tall_child {
background-color : green;
width : 80%;
/*
I want the height of the this child to be determined automaticlly by flex to fit remaining space of parent
*/
}
.scrollable_3rd_party_element {
height : 100%;
overflow : scroll;
border-style: solid;
border-width: 5px;
}
<div class="parent">
<div class="header">header</div>
<div class="tall_child">
<div class="scrollable_3rd_party_element">
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
<div>content</div>
</div>
</div>
</div>
【问题讨论】:
-
header的大小是否固定为50px?
-
没有。我试图避免使用硬编码数字,而是使用 flex 来自动增长/收缩..