Diviでスマホ上で列を自由に並びかえる方法

Divi、スマホの画面で列をスワップする方法

こんにちは、ナオミです。
こんな感じで、交互に色を変えたりするデザインをたまにみますよね。

diviでスマホの列をコントロールする

これはデスクトップでこんな感じに見えますが、スマホでみたらどうなるでしょう?

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】今更ながら、フレックスボックスの使い方をまとめてみた。

クラスを行に追加

Diviでスマホで列をスワップ

列をスワップしたい方の行の設定を開きます。
そして、その行自体に『cutom-row』のクラスを追加します。
次に、上に来て欲しい方に『mobile-order-1』、その下に来て欲しい列に『mobile-order-2』を追加します。

これで二つの列がスワップします。
デスクトップビューに戻しても、レイアウトは崩れていません。

もし上手くいかない場合はこの動画を見てみてください。

質問があればなんでもどうぞ。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です