【发布时间】:2016-09-21 20:49:51
【问题描述】:
我在一个 flexbox 容器内有三个 div。
我希望三个divs 显示如下:
+-----------------------------------------------+
| +-----------------+-----------------+ |
| | | | |
| | | | |
| +-----------------+-----------------+ |
| |
| +-----------------------------------+ |
| | | |
| | | |
| +-----------------------------------+ |
| |
+-----------------------------------------------+
因此容器必须垂直适应其内容,但仅适应其内容,仅此而已。
不过,我在 divs 和容器之间得到了很大的空白空间,而容器正在获得其父级的 height 的 100%。
我尝试不将height 属性放入容器并设置height: auto;,但它们都不起作用。
这是我的代码:
*{
box-sizing: border-box;
}
html,body{
width: 100%;
margin: 0;
}
#container{
display: flex;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
justify-content: center;
align-items: center;
flex-wrap: wrap;
max-width: 450px;
border: 1px solid;
}
#div1{
width: 50%;
height: 155px;
background-color: blue;
}
#div2{
width: 50%;
height: 155px;
background-color: red;
}
#div3{
width: 70%;
height: 155px;
background-color: green;
}
<div id="container">
<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
</div>
注意:放大以查看 div 之间的空白。
如何使容器收缩包装内容而不是其父级的 100% 高度?
提前致谢!
【问题讨论】: