【发布时间】:2016-08-23 23:22:51
【问题描述】:
我有一个 flex 项目,其中包含三个 divs。
┌────────────────────────────────────────┐
| WRAPPER |
| ┌─────────┬───────────┬──────────┐ |
| | LEFT | CENTER | RIGHT | |
| | | | | |
| └─────────┴───────────┴──────────┘ |
└────────────────────────────────────────┘
我想将center 列移动到小屏幕(小于 600 像素)中的下一行。它应该占据屏幕宽度的 100%。
我遇到的问题是当center 列进入下一行时,right 列不适合包装器。
这是我的HTML 代码:
<div id="wrapper">
<div class="block left">Left</div>
<div class="block center">Center</div>
<div class="block right">Right</div>
</div>
这是我的CSS 代码:
html, body{
height: 100%;
}
body{
margin: 0;
}
#wrapper{
display: flex;
width: 100%;
height: 50px;
align-items: center;
text-align: center;
}
.block{
height: 50px;
}
.left{
width: 20%;
background-color: red;
order: 1;
}
.center{
width: 60%;
background-color: green;
order: 2;
}
.right{
width: 20%;
background-color: blue;
order: 3;
}
@media all and (max-width: 600px) {
#wrapper{
flex-flow:column wrap;
height: 100px;
}
.center {
width: 100%;
order: 3;
}
.left{
width: 50%;
}
}
JSFiddle 在那里你可以看到它是如何显示的。
是否可以使用flexbox 将中间列移动到占据屏幕宽度 100% 的下一行?如果是,我错过了什么?
提前致谢!
【问题讨论】: