CSS Gridレイアウトの基礎

CSS Gridを使った柔軟なレイアウト設計の基本的な概念と実装方法を紹介します。

|

CSS Gridレイアウトの基礎

CSS Gridは2次元のレイアウトシステムで、行と列を同時に制御できる強力な機能です。

基本的な使い方

.container {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  grid-template-rows: auto 1fr auto;
  gap: 20px;
  height: 100vh;
}

.header {
  grid-column: 1 / -1;
}

.sidebar {
  grid-row: 2;
}

.main {
  grid-row: 2;
}

.footer {
  grid-column: 1 / -1;
}

Grid Template Areas

.layout {
  display: grid;
  grid-template-areas:
    "header header header"
    "sidebar main aside"
    "footer footer footer";
  grid-template-columns: 200px 1fr 200px;
}

.header { grid-area: header; }
.sidebar { grid-area: sidebar; }
.main { grid-area: main; }
.aside { grid-area: aside; }
.footer { grid-area: footer; }

レスポンシブ対応

@media (max-width: 768px) {
  .layout {
    grid-template-areas:
      "header"
      "main"
      "sidebar"
      "aside"
      "footer";
    grid-template-columns: 1fr;
  }
}

google CSS Gridを使うことで、複雑なレイアウトも直感的に実装できます。