ブロックギャラリーを使うと、最後の画像のカラム数が合わないと大きな画像になる。
これは、CSSで簡単に修正することができる。
CSSの追加で flex-grow: 0; を適用する、またはグリッドレイアウト(CSS Grid)に変更するのが最も確実な解決策です。
WordPressの仕様上、ギャラリーはFlexboxという仕組みで並べられており、余ったスペースを最後の画像が自動で埋めてしまうため巨大化してしまいます。
サイト全体、もしくは特定のギャラリーだけに適用する2つの解決策を紹介。
方法1:サイト内のすべてのギャラリーに適用する(推奨)
テーマの「追加CSS」や子テーマの style.css に以下のコードを貼り付けるだけで、何列(何カラム)の設定であっても最後の画像が広がらず、他の画像と同じサイズに統一される。
/* ギャラリーブロックの最後の画像が巨大化するのを防ぐ */
.wp-block-gallery .wp-block-image {
flex-grow: 0 !important;
}方法2:特定のギャラリーだけに対応させる(プラグイン等との競合を防ぐ)
他のページへの影響を避けたい場合は、特定のギャラリーだけに専用のクラス(名前)をつけてCSSを適用することができる。
1. 記事編集画面での設定
- 編集画面で対象の「ギャラリーブロック」を選択します。
- 右側の設定サイドバーにある 「高度な設定」(または「追加 CSS クラス」)を開きます。
- そこに
waza-equal-galleryと入力します。
2. CSSの追加
その後、以下のCSSをサイトの「追加CSS」などに記述します。
/* 指定したクラスのギャラリーだけサイズを均等にする */
.wp-block-gallery.waza-equal-gallery .wp-block-image {
flex-grow: 0 !important;
}最後の画像を、中央寄せにしたい場合
もし「最後の1枚を大きくせず、かつ中央に配置したい」という場合は、以下のように記述を調整すると良い。
/* 最後の画像を拡大させず、中央に寄せる */
.wp-block-gallery {
justify-content: center;
}
.wp-block-gallery .wp-block-image {
flex-grow: 0 !important;
}
