/ Gists / Responsive CSS Grids (autoheight by viewport)
On gists

Responsive CSS Grids (autoheight by viewport)

CSS trick

style.css Raw #

/*
  Demo: https://jsbin.com/hugodahuge/1/edit?html,css,output
*/

.grid {
  display: grid;
  grid-template-rows: repeat(4, 1fr); 
  grid-auto-columns: calc((100vh - 3em) / 4);
  grid-auto-flow: column;
  grid-gap: 1em;
  height: 100vh;
}

.grid-item:nth-child(3n) {
  background-color: gray;
}

.grid-item:nth-child(3n + 1) {
  background-color: green;
}

.grid-item:nth-child(3n + 2) {
  background-color: yellow;
}

grid.html Raw #

<div class="grid">
  
  <div class="grid-item"></div>
  <div class="grid-item"></div>
  <div class="grid-item"></div>
  <div class="grid-item"></div>
  <div class="grid-item"></div>
  <div class="grid-item"></div>
  <div class="grid-item"></div>
  <div class="grid-item"></div>
  <div class="grid-item"></div>
  <div class="grid-item"></div>
  <div class="grid-item"></div>
  <div class="grid-item"></div>
</div>