WordPressカラムブロックをスマホで2列にしたい

WordPressのブロックエディタでコンテンツを2列や3列など横並びにしたいときに使う「カラム」
最大6列まで数字を選ぶだけでflexが設定され横並びにできてとても便利ですね

スマートフォン(781px以下)では何列のカラムでもすべて1列になるというのがデフォルトのようです
しかしコンテンツによっては1列だと大きいし縦長になるので2列にしたい、ということも結構あります

デベロッパーツールでページのソースを確認すると、親のflexボックスにこのようなcssが入っています↓↓↓

@media (max-width: 781px){
    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: 100% !important;
    }
}

なのでまずWordpressの編集画面で、スマホで2列にしたいカラムにclassを設定します
(右側パネルの「高度な設定」から)
ここではclassを「sp2」とします

そしてそのclassを付けたカラムだけflex-basisを変更するようcssを追加します

/*カラムブロックをスマホで2カラムにする*/
@media (max-width: 781px){
   .wp-block-columns.sp2:not(.is-not-stacked-on-mobile)>.wp-block-column {
                 flex-basis: 45% !important; /*数字は幅を見ながら調整*/
    }
  .wp-block-columns.sp2::after{
		 content: "";
		 width: 45%;
		 height: 0;
	 }
}

これで、例えば6個のアイテムをデスクトップでは3列、スマホでは2列…と横並びにすることができます
※下の::afterはアイテムが奇数だったとき最後の1つを左に寄せるため

コメント