≪ Today I learned. RSS購読
公開日
更新日
タグ
CSS
著者
ダーシノ(@bc_rikko)

CSSだけでMasonryレイアウト(組積レイアウト)をする

いままでMasonryレイアウト(組積レイアウト)をするにはJavaScriptが必須(jQueryのプラグインとか)だったが、Gridレイアウトの機能でCSSだけで実現できるようになった。

.masonry {
  display: grid;
  gap: 10px;
  /* grid-template-(rows|columns): masonry が指定可能 */
  grid-template-rows: masonry;
}

追記:2024-04-24


追記:2024-05-08

Chromeの開発チームがCSS Gridを使ったMasonryレイアウトの実装に反対の意を示した

反対の理由

  1. パフォーマンス問題
  2. Grid ではなく別のレイアウトにすべき

Chromeチームの提案

CSS Gridの機能ではなく、display: masonryでフローレイアウトの役割のひとつとして実装することを提案している。

.masonry {
  display: masonry;
}

追記: 2024-09-26

CSS Grid Level 3のWorking Draftが公開された。

grid-template-rows: masonrydisplay: masonryの2つの提案があり、ユーザーにフィードバックを求めている。