CSS Grid Layout

レスポンシブなCSS Grid

CSS Grid ってすごい♡(メディアクエリ不要のボックスレイアウト)

ボックスレイアウトを組む方法として、新たにGrid Layoutが主流となりつつあります。ここでは、シンプルなソースで書けちゃう「Grid Layout」を使った3カラムレイアウトと2カラムレイアウトを。

smp1

ウインドウサイズに合わせてカラム数が変わる、レスポンシブなタイルレイアウト

本サイトではPCだと3カラム、パッド〜スマホは1カラムで表示します。

sample 0001

アイウエオあいうえおアイウエオあいうえおアイウエオあいうえおアイウエオあいうえお

sample 0002

012345678

sample 0003

あいうえおアイウエオ

sample 0004

アイウエオ

sample 0005

あかさたな

HTML

<div class="cssgrid">
  <div class="item1">
  <p><img src="/.../sample_0001.jpg" alt="1" /></p>
  <p>アイウエオ</p>
  </div>
  <div class="item2">
  <p><img src="/.../sample_0002.jpg" alt="2" /></p>
  <p>012345678</p>
  </div>
  <div class="item3">
  <p><img src="/.../sample_0003.jpg" alt="3" /></p>
  <p>あいうえおアイウエオ</p>
  </div>
  <div class="item4">
  <p><img src="/.../sample_0004.jpg" alt="4" /></p>
  <p>アイウエオ</p>
  </div>
  <div class="item5">
  <p><img src="/.../sample_0005.jpg" alt="5" /></p>
  <p>あかさたな</p>
  </div>
</div>

CSS


.cssgrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  grid-auto-rows: 1fr;
  grid-gap: 0.8em;
  margin: 0 0 2em;
}
.cssgrid > div {
  background: #f5f5f5;
  overflow: auto;
  min-width: 0;
  padding: 1em 1.25em;
}
.cssgrid img {
  max-width: 100%;
  height: auto;
  width: auto\5;
  margin-bottom: 1em; 
}

※fr・・・「fraction(分数の意味)」の略で外枠のサイズに合わせてグリッドを分割し、そのサイズを自動で調整

 

smp2

PCだと2カラム、パッド〜スマホは1カラムのレイアウト

 

HTMLは smp1 と同じです。もうお分かりと思いますが、minmaxの数値を230から320に大きくしただけ。ソースはシンプルだし、Grid Layoutスバラシイ!

sample 0001

アイウエオあいうえおアイウエオあいうえおアイウエオあいうえおアイウエオあいうえお

sample 0002

012345678

sample 0003

あいうえおアイウエオ

sample 0004

アイウエオ

sample 0005

あかさたな

CSS


.cssgrid2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    grid-auto-rows: 1fr;
    grid-gap: 0.8em;
    margin: 0 0 2em;
}
.cssgrid2 > div {
    background: #f8f4e6;
    overflow: auto;
    min-width: 0;
    padding: 1em;
}
.cssgrid2 p {
    font-size: 1em;
    padding: 0 0 1em;
}
.cssgrid2 img {
    max-width: 100%;
    height: auto;
    width: auto\5;
    margin-bottom: 1em;
}

Grid Layout について、分かり易い解説をされているサイトを二つご紹介します。

◎ coliss 5分で完璧に分かる!CSS Gridの基本的な使い方を解説
https://coliss.com/articles/build-websites/operation/css/learn-css-grid-in-5-minutes.html

◎ ZeroPluse Media 爆速でレイアウトを完結させるCSS Gridの使い方を丁寧に解説
https://zero-plus.io/media/grid-layout/