本文へスキップ

メイソンリー

高さの違うカードを隙間なく積み上げる石垣(メイソンリー)配置。CSS の columns で縦方向に流し込むだけの、Pinterest 風レイアウト。

プレビュー

静的

操作動きのない質感・レイアウトの見本です。

仕様書

向く場面
  • 写真・メモなど高さがばらつくカードの一覧
  • Pinterest 風に隙間なく積みたい画面
  • 読み順が厳密でなくてよいギャラリー
避ける場面
  • 左→右の読み順を保ちたい一覧(columns は縦流し)
  • 並び順に意味がある検索結果
構成要素
  • ステージ
  • カラム
  • カード
  • サムネイル
  • 題と短文
持っている状態
  • 通常
キーボード

操作要素なし(静的な配置)。中に置く部品側でフォーカス移動を確保する

支援技術

読み上げ順は DOM 順(上から下へ縦流し)で、見た目の左右順とは一致しない。役割の指定は無く、題と短文がそのまま読まれる

動き

なし

目的見せる

デザインの要点

  • columns: 2 の縦流しは JS 不要だが、読み順が上→下→次の列になる。並び順に意味がある一覧には使わない
  • break-inside: avoid を必ず付ける。無いとカードが列の境目で上下に割れる
  • カードの高さ差は 44〜96px 程度に収める。差が大きすぎると片方の列の末尾だけ極端に空く
実装メモ

columns による石垣は上から縦方向へ順に流れます(左列→右列の視覚順にはなりません)。読み順を厳密に左→右へ揃えたい場合は grid-template-rows: masonry(対応ブラウザ)か JS 実装を検討してください。

コード(コピーして使えます)

<div class="stage">
  <div class="masonry">
    <div class="mcard"><span class="mthumb m1"></span><span class="mtitle">写真ノート</span></div>
    <div class="mcard"><span class="mthumb m2"></span><span class="mtitle">旅の記録</span><span class="mtext">短いメモが付くカード。</span></div>
    <div class="mcard"><span class="mthumb m3"></span><span class="mtitle">レシピ</span></div>
    <div class="mcard"><span class="mthumb m4"></span><span class="mtitle">配色メモ</span><span class="mtext">高さがそれぞれ違っても隙間なく積まれます。</span></div>
    <div class="mcard"><span class="mthumb m5"></span><span class="mtitle">スケッチ</span></div>
    <div class="mcard"><span class="mthumb m6"></span><span class="mtitle">読書リスト</span><span class="mtext">縦に流し込む方式。</span></div>
  </div>
</div>

タグ

同じカテゴリ「レイアウト・構造」のほかのパーツ

関連パーツ