【发布时间】:2015-10-27 10:48:40
【问题描述】:
我正在尝试让 flexbox 布局的子 div 填充其父级。在任何其他情况下,将宽度/高度设置为 100% 会导致 div 填充其父级...我只想将 flexbox 用于我的顶级布局。
问题
-
#map-containerdiv 不会填充#col1,即使它设置了 100% 的高度。 -
#controlsdiv 完全出现在#col1之外。我以前使用绝对布局将框对齐到角落而没有问题。位于 flexbox 祖父母中似乎会导致问题。
我期望#map-container 和#map 填充#col1 和#controls 以对齐#map 的右下角。
.wrapper, html, body {
height:100%;
margin:0;
}
#col1 {
display: flex;
}
#map-container {
background-color: yellow;
width: 100%;
height: 100%;
}
#map {
background-color: purple;
width: 100%;
height: 100%;
}
#controls {
background-color: orange;
position: absolute;
right: 3px;
bottom: 3px;
width: 100px;
height: 20px;
}
.wrapper {
display: flex;
flex-direction: column;
}
#row1 {
background-color: red;
}
#row2 {
flex:2;
display: flex;
}
#col1 {
background-color: green;
flex: 1 1;
}
#col2 {
background-color: blue;
flex :0 0 240px;
}
<div class="wrapper">
<div id="row1">Header</div>
<div id="row2">
<div id="col1">
<div id="map-container">
<div id="map">
Map
</div>
<div id="controls">Controls</div>
</div>
</div>
<div id="col2">Sidebar</div>
</div>
</div>
【问题讨论】: