CSS Grid Layout を試す (3)

レイアウトに使う その1

エリアの名前を使ってアイテムを指定するパターン

メイン

HTML

<header>
  <h1>タイトル</h1>
</header>
<main>メイン</main>
<nav>ナビ</nav>
<aside id="side">サイド</aside>
<footer>フッター</footer>
<aside id="ad">広告</aside>

CSS

body {
    display: grid;
    margin: 0;
    min-height: 100vh;
    grid-template-rows: 300px 100px 1fr 100px;
    grid-template-columns: 100px 1fr 100px;
    grid-template-areas:
        "title  title  title "
        "nav    main   ad    "
        "nav    main   side  "
        "footer footer footer";
}
body > * {
    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;
}
#ad {
    grid-area: ad;
    background: #888;
}

仕様

参考