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