早安。我试图在flexbox情况下更改堆叠顺序,其中有2列,但第一列包含需要放入第二列的位置。因此,在移动设备上,我需要订购不同于源订单的订购。
这是大型的
col 1 col 2
----------==============
[A] [C]
[B]
A和B在一列中,C在另一列中
但是在小断点上,它必须是
[A]
[C]
[B]
这只能使用Flexbox吗?
所以澄清一下。 HTML结构如下:
row
column
divA
divB
column
divC
.a { background-color: green; }
.b { background-color: red; }
.c { background-color: blue; }
.row {
display: flex;
flex-direction: column;
}
.column {
flex: 1;
}
@media (min-width: 768px) {
.row {
flex-direction: row;
}
}

<div class="row">
<div class="column">
<div class="a">A</div>
<div class="b">B</div>
</div>
<div class="column c">C</div>
</div>
&#13;
答案 0 :(得分:4)
您可以通过媒体查询和订单实现您想要的目标:
.a {
background-color: green;
order: 1;
}
.b {
background-color: red;
order: 3;
}
.c {
background-color: blue;
order: 2;
}
.row {
width: 100%;
display: flex;
flex-direction: row;
flex-wrap: wrap; /* add this so you don't need the extra wrapper div */
}
.row>div {
width: 50%; /* start off width children being 50% width */
}
@media (max-width: 768px) {
.row>div {
/* for small screens */
width: 100%;
}
}
<div class="row">
<div class="a">A</div>
<div class="b">B</div>
<div class="c">C</div>
</div>