CSS Grid - Typical layout

by Tuan Truong

HTML

<div class="container">
  <div class="header">
    Header
  </div>
  <div class="nav">
    Nav
  </div>
  <div class="body">
    Body
  </div>
  <div class="footer">
    Footer
  </div>
</div>

CSS

.container {
  display: grid;
  grid-template-columns: 200px auto;
  grid-template-rows: 100px auto 100px;
  grid-template-areas: 
    "header header"
    "nav body"
    "footer footer";
  grid-gap: 10px;
}

.header {
  grid-area: header;
  background: #e2e2e2;
}

.nav {
  grid-area: nav;
  background: #e2e2e2;
}

.body {
  grid-area: body;
  background: #e2e2e2;
}

.footer {
  grid-area: footer;
  background: #e2e2e2;
}