【发布时间】:2016-05-24 03:20:06
【问题描述】:
这是我的问题:
我在一个容器内有 3 个容器,这些容器内有内容。
如果一个容器被垂直和水平移除,我希望每个容器都填满剩余的空间。
我将 flexbox 与 flex-flow: row wrap 一起使用,假设我们删除了两个底部容器之一,这非常有用。
然后为了让它们在垂直方向上重新调整大小,我使用了 height 自动属性,并且可以预见,容器元素会填满其容器的剩余高度。
<!DOCTYPE html>
<html>
<head>
<style>
div{border: 1px solid black}
html, body{height: 100%; width: 100%;}
#container1{
width: 100%;
height: 100%;
display: flex;
flex-flow: row wrap;
}
#subContainer3, #subContainer2{
flex: 1 49%;
}
#subContainer1{
flex: 1 100%;
}
.content{
background-color: lightgray;
height: 90%;
}
</style>
</head>
<body>
<div id="container1">
<div id="subContainer1">
<div class="content"></div>
</div>
<div id="subContainer2">
<div class="content"></div>
</div>
<div id="subContainer3">
<div class="content"></div>
</div>
</div>
</body>
</html>
但是,因为我没有为子容器设置明确的高度,所以它们中的所有内容都不能占子容器的百分比。
如何实现让子容器在行和列方向上调整大小并同时使其内容占其高度的百分比的预期目标?
****注意****
作为补充说明,虽然这对某些人来说可能很明显,但任何由弹性框确定的高度仍然不会被任何尝试使用百分比高度的子 div 识别。例如,如果我们的内容 div 自己在哪里有想要成为其父母身高 % 的孩子,我们将不得不在列方向上使用 flex-box 来建立它而不是 %height。
【问题讨论】:
-
我认为
height: 90%;在这里不起作用,因为最大的content决定了外部容器的高度和 flex 行,而您是在说height: 90%本身? -
对不起,我知道 90% 的高度不起作用,我只是用代码说明问题。我想要一个解决方案,我可以保持 90% 的高度,同时能够让 subContainer div 垂直扩展。一旦我为 subContainer 设置了高度,内容高度(90%)就会起作用,但是如果我假设从 tio 中删除 div,剩余的 div 不会扩展以填充高度。
-
那么
.content有兄弟姐妹吗?并且您希望content与subContainer中的其他项目成比例增加(高度的9 倍)?你要的设计不清楚=/
标签: jquery html css responsive-design flexbox