メインコンテンツ + サイドバー構成のブログレイアウト。2カラム構成の基本をCSS Gridで実装します。
<div class="grid-container"> <div class="item-1">header</div> <div class="item-2">main</div> <div class="item-3">sidebar</div> <div class="item-4">footer</div> </div>
.grid-container {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(3, 1fr);
gap: 16px;
width: 100%;
height: 500px;
}
.item-1 { grid-area: 1 / 1 / 2 / 5; }
.item-2 { grid-area: 2 / 1 / 3 / 4; }
.item-3 { grid-area: 2 / 4 / 3 / 5; }
.item-4 { grid-area: 3 / 1 / 4 / 5; }
@media (max-width: 768px) {
.grid-container {
grid-template-columns: 1fr;
grid-template-rows: auto;
height: auto;
}
.grid-container > * {
grid-area: auto;
}
}ブログレイアウトは「メイン3:サイドバー1」のような比率で2カラムを構成するのが一般的です。grid-template-columnsを3fr 1frや4fr 1frに指定するだけで自然な比率が作れます。サイドバーには目次・プロフィール・関連記事などを配置し、モバイルではgrid-template-columns: 1frに切り替えて縦積みにします。
個人ブログ、コーポレートブログ、ニュースサイトの記事ページなど、メインコンテンツにサイドバーを添える定番レイアウトです。
列数・行数・Gap・セルの範囲を自由に変更したい場合は、CSS Grid Generatorでドラッグ操作によりオリジナルのグリッドを作成できます。詳しい使い方は使い方ガイドをご覧ください。
ジェネレーターで自分のグリッドを作る →