レイアウト · まとめ

Grid レイアウト

display: grid で使うプロパティを、役割ごとにまとめました。箱に書いて列と行の線を引くもの、すき間をとるもの、揃えるもの、中の項目に書いて置き場所を決めるものがあります。

組み合わせて動かす

grid のブロックを最初から積んであります。値を動かしたり、ブロックを足したり外したりして、組み合わせたときの動きを確かめられます。縁取りした 2 番目の項目には、項目に書くプロパティがかかります。

プレビュー

1234
見本
項目
右下の角をドラッグするとサイズを変えられます

コード

.box {
  display: grid;
  flex-wrap: wrap;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px 8px;
}

.box > :nth-child(2) {
  grid-column: span 2;
}

ブロック3

  1. grid-template-columnsrepeat(3, 1fr)
    grid-template-columns
    repeat() の回数3
    トラック(列や行の大きさ)
    トラック 1
    minmax()
1234

プロパティ

列と行を作る箱に書く

列と行の線を引いて、マスの大きさを決めます。書いた分より項目が多いときに足される行(や列)の大きさと、項目を詰める向きもここで決めます。

すき間をとる箱に書く

列と列、行と行の間をあけます。端にはつきません。

揃える箱に書く

-items はマスの中で項目をどこに置くか、-content はマスの集まり全体を箱の中のどこに置くかを決めます。justify は行の向き(横)、align はそれと直交する向き(縦)、place は両方をまとめて書きます。

1234

justify-items

justify-items: center;

justify-items は、グリッドの項目を、それぞれのマスの中で行の向き(横書きなら左右)のどこに置くかを、まとめて指定します。

1234

align-items

align-items: center;

align-items は、フレックスボックスやグリッドの中で、項目を交差軸(並べる向きと直交する向き)のどこにそろえるかを指定します。横に並べたフレックスボックスでは、上下のそろえ方です。

1234

place-items

place-items: center;

place-items は、align-items(縦の位置)と justify-items(横の位置)をまとめて書くショートハンドです。place-items: center で、グリッドの項目をマスの上下左右の中央に置けます。

1234

justify-content

justify-content: space-between;

justify-content は、フレックスボックスやグリッドの中で、項目を主軸(並べる向き)のどこに寄せるか、余った空きをどう配るかを指定します。

1234

align-content

align-content: center;

align-content は、フレックスボックスで折り返した行や、グリッドの行をまとめて、交差軸(横に並べたときは縦)のどこに寄せるか、余った空きをどう配るかを指定します。

1234

place-content

place-content: center;

place-content は、align-content(行のまとまりの縦の位置)と justify-content(列のまとまりの横の位置)をまとめて書くショートハンドです。箱の中で余った空きに、中身をまとめてどう置くかを決めます。

項目を置く項目に書く

どの線からどの線まで使うかを書いて、項目を好きなマスに置いたり、いくつかのマスにまたがらせたりします。grid-area は行と列の 4 本の線をまとめて書きます。order は自動で並ぶときの順番を変えます。

項目ごとに揃える項目に書く

箱の -items で決めた揃え方を、その項目だけ変えます。