Gridレイアウトはタイル型に要素を配置したいときに適している。
コンテナーと呼ばれる親要素の中に、並べたい子要素を入れる。
この時点ではアイテムは縦に並んでいるだけになる。
各アイテムの幅を指定することで、横並びに設定できる。
上の例に対してアイテム幅を各200pxずつで並べるように指定している。
「grid-template-columns: 200px 200px 200px;」と記述
アイテムの境界をわかりやすくするためにボーダーを設定している。
アイテムの間の余白を指定する。
「gap: 10px;」と記述
アイテムの間に10pxの余白ができた。
「grid-template-columns: 1fr 1fr 1fr;」と記述
frで指定すると、画面幅に合わせて伸縮するようになる。
アイテムの高さを設定する。半角スペースで区切って必要な行数分の高さを指定する。
「grid-template-rows: 200px 200px;」と記述
アイテムの高さが200pxになった。
レイアウトでよく使われるカードというレイアウトを作ってみる。
画像の下に関連するテキストが配置されているカードを複数枚並べてみる。
divタグの中にimgタグとpタグを入れる
世の中の牧草はすべて俺のもの
絶対に人なんて乗せてやらないぞ
白黒つけるまで追いかけるぜ
アイテム幅をピクセルで指定しているので、画面幅が変わっても伸縮しません。
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 30px;
画面幅を変えてみてください。画面に合わせて1行の表示数が変わります。
邪魔するもんはどつくで〜
わいと一緒に怠けようや
人を騙すのやめらんない
もう見世物になるんはヤメや
エブリデイ・パーティー!
近づくとケガするぜ