3
これはデスクトップのレイアウトがflex-direction: row
で、モバイルの場合はflex-direction: column
でなければならないレスポンシブデザインの一部です。しかし、2つの要素one
とthree
は、互いの上にではなく、隣り合っていなければなりません。 (コンテナ内に置くことはできませんので、デスクトップのレイアウトが壊れてしまいます)。フレックス方向の列であるが、お互いに隣り合う2つの子供がデスクトップの順番が異なる
これをFlexboxで実現する方法はありますか?
.flex-container-desktop {
display: flex;
flex-direction: row;
}
.flex-container {
display: flex;
flex-direction: column;
}
.child {
border: 1px solid red;
margin-right: 10px;
padding: 5px;
}
.two {
order: 1;
}
.three {
order: 2;
}
.one {
order: 3;
}
<b>Desktop</b>
<div class="flex-container-desktop">
<div class="child one-desktop">
Child 1
</div>
<div class="child two-desktop">
Child 2
</div>
<div class="child three-desktop">
Child 3
</div>
</div>
<hr>
<b>Mobile</b>
<div class="flex-container">
<div class="child one">
Child 1
</div>
<div class="child two">
Child 2
</div>
<div class="child three">
Child 3
</div>
</div>
<br>
Child 3 and 1 should be next to each other only on mobile.
最も論理的な選択肢であると思われます。 –
aha。私は列から列へのフレックス方向を「メディア照会」していましたが、2人の子供をフレックスベースで並べる方法を見つけようとしていましたが、明らかに「列」は幅よりも強かったのです:)。 –