我有一个内容弯曲的容器flex。如何使内容flex占据容器弯曲的整个宽度和高度。
<div id="main">
<div id="main-nav">
</div>
<div class="container">
<div class="content"></div>
<div class="content"></div>
</div>
</div>
#main{
display: flex;
flex-direction: column;
height: 100vh;
width: 100vw;
}
#main-nav{
width: 100%
height: 50px;
}
.container{
display: flex;
flex-direction: row;
flex-wrap: wrap;
flex: 1;
}
.content{
display: flex;
width: 100%;
height: 100%;
}
上述代码使内容占据容器的100%宽度,但高度取决于内容中的文本。我尝试了类似问题中提到的解决方案,但没有运气,但仍然是相同的。
基本上,我希望每个内容占据视口高度中容器占用的相同高度。我也试过jQuery,
var rht = $("#container").height();
$(".content").height(rht);
它会正确地改变高度,但会增加一个水平滚动条,宽度会增加。
答案 0 :(得分:2)
对原始问题进行了几次更新后:
* {
box-sizing: borderbox;
margin: 0;
padding: 0;
}
#main {
display: flex;
flex-direction: column;
border: 1px solid red;
min-height: 100vh;
}
#main-nav {
flex: 0 0 50px;
}
.container {
display: flex;
flex-direction: column;
flex: 1;
border: 1px solid green;
}
.content {
flex: 1;
border: 1px solid orange;
}
<div id="main">
<div id="main-nav"></div>
<div class="container">
<div class="content"></div>
<div class="content"></div>
</div>
</div>
答案 1 :(得分:0)
你不能设置flex的宽度或高度的孩子更大(flex的大小)/(flex的孩子的数量),但是你可以将position: absolute
添加到.content
和position: relative
进入.container
,然后为width
设置height
和.content
。第一个.content
位于第二个.content
之下,您可以使用propety z-index
或display: none
来控制。
* {
box-sizing: borderbox;
margin: 0;
padding: 0;
}
#main {
display: flex;
flex-direction: column;
background: red;
min-height: 100vh;
}
#main-nav {
flex: 0 0 50px;
}
.container {
position: relative;
display: flex;
flex: 1;
background: green;
}
.content {
position: absolute;
left: 0px;
top: 0px;
height: 100%;
width: 100%;
flex: 1;
background: orange;
}
&#13;
<div id="main">
<div id="main-nav"></div>
<div class="container">
<div class="content">left</div>
<div class="content">right</div>
</div>
</div>
&#13;