CSS Grid Layout を試す (4) 固定幅中央寄せ、レスポンシブ
レイアウトに使う
エリアの名前を使ってアイテムを指定するパターン
メイン
HTML
<div class="container">
<header>
<h1>タイトル</h1>
</header>
<main>メイン</main>
<nav>ナビ</nav>
<aside id="side">サイド</aside>
<footer>フッター</footer>
<aside id="ad">広告</aside>
</div>
CSS
.container {
display: grid;
margin: 0;
min-height: 100vh;
/*grid-template-rows: 300px 100px 1fr 300px 300px 300px;*/
grid-template-columns: 1fr;
grid-template-areas:
"title"
"nav"
"main"
"side"
"ad"
"footer";
}
.container > * {
margin: 3px;
padding: 10px;
}
header {
grid-area: title;
background: #faa;
border-radius: 10px 10px 0 0;
}
main {
grid-area: main;
background: #afa;
}
nav {
grid-area: nav;
background: #aaf;
}
#side {
grid-area: side;
background: #faf;
}
footer {
grid-area: footer;
background: #aaa;
border-radius: 0 0 10px 10px;
text-align: right;
}
#ad {
grid-area: ad;
background: #888;
}
/* for PC */
@media (min-width: 992px) {
.container {
width: 1060px;
margin: 0 auto;
grid-template-rows: 300px 100px 1fr 100px;
grid-template-columns: 100px 1fr 300px;
grid-template-areas:
"title title title "
"nav main ad "
"nav main side "
"footer footer footer";
}
}
仕様
参考