Diviでスマホ上で列を自由に並びかえる方法
こんにちは、ナオミです。
こんな感じで、交互に色を変えたりするデザインをたまにみますよね。
これはデスクトップでこんな感じに見えますが、スマホでみたらどうなるでしょう?
あれれ、これはちょっと予想と違いますし見にくいです。
黄黒黄黒で表示させたいですよね。
そんな問題を解決すべく、この記事では、どうやってスマホ上で表示される列を並び自由に替えるのか説明します。
WordPressにCSSを追加
@media all and (max-width: 980px) {
/*** Flexboxを使う ***/
.custom-row {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap; /* Safari 6.1+ */
flex-wrap: wrap;
}
/*** カスタムCSSクラスで、デスクトップ以外の列のオーダーを決定 ***/
.mobile-order-1 {
-webkit-order: 1;
order: 1;
}
.mobile-order-2 {
-webkit-order: 2;
order: 2;
}
.mobile-order-3 {
-webkit-order: 3;
order: 3;
}
.mobile-order-4 {
-webkit-order: 4;
order: 4;
}
/*** 最後の列にマージンを追加 ***/
.custom-row:last-child .et_pb_column:last-child {
margin-bottom: 30px;
}
}
このコードをあなたのWordPressに追加してください。
細かい説明は省きますが、列を全てflex boxでコントロールするためのCSSです。
詳しく知りたい方はこの記事からどうぞ。
【CSS】今更ながら、フレックスボックスの使い方をまとめてみた。
クラスを行に追加
列をスワップしたい方の行の設定を開きます。
そして、その行自体に『custom-row』のクラスを追加します。
次に、上に来て欲しい方に『mobile-order-1』、その下に来て欲しい列に『mobile-order-2』を追加します。
これで二つの列がスワップします。
デスクトップビューに戻しても、レイアウトは崩れていません。
もし上手くいかない場合はこの動画を見てみてください。
Diviのことをもっと深く知りたい方は、Diviの使い方完全ガイドをご覧ください。
質問があればなんでもどうぞ。