聖杯のレイアウト

このクラシックな聖杯のレイアウトには、ヘッダー、フッター、左側のサイドバー、右側のサイドバー、メイン コンテンツがあります。先ほどのレイアウトに似ていますが、サイドバーが追加されました。

1 行のコードでこのグリッド全体を記述するには、grid-template プロパティを使用します。これにより、行と列の両方を同時に設定できます。

プロパティと値のペアは grid-template: auto 1fr auto / auto 1fr auto です。1 番目と 2 番目のスペース区切りリストの間のスラッシュは、行と列の間の区切りです。

.parent {
  display: grid;
  grid-template: auto 1fr auto / auto 1fr auto;
}

前の例(ヘッダーとフッターのコンテンツのサイズが自動設定されていた)と同様に、左右のサイドバーは、子の固有のサイズに基づいて自動的にサイズ設定されます。ただし、今回は縦長(高さ)ではなく横長のサイズ(幅)です。

HTML

<div class="parent">
    <header class="section coral">Header</header>
    <div class="left-side section blue">Left Sidebar</div>
    <main class="section green"> Main Content</main>
    <div class="right-side section yellow">Right Sidebar</div>
    <footer class="section coral">Footer</footer>
  </div>

CSS


        .parent {
  display: grid;
  grid-template: auto 1fr auto / auto 1fr auto;
}

header {
  padding: 2rem;
  grid-column: 1 / 4;
}

.left-side {
  grid-column: 1 / 2;
}

main {
  grid-column: 2 / 3;
}

.right-side {
  grid-column: 3 / 4;
}

footer {
  grid-column: 1 / 4;
}