Flexbox vs CSS Grid: Axis Flipping

Flexbox vs CSS Grid: Axis Flipping by Wes Bos

HTML

<link rel="stylesheet" href="https://cdn.rawgit.com/wesbos/css-grid/master/assets/style.css">
<button onClick="flip()">Flip It</button>
<div class="flipper">
  <div class="item">1</div>
  <div class="item">2</div>
  <div class="item">3</div>
  <div class="item">4</div>
  <div class="item">5</div>
  <div class="item">6</div>
  <div class="item">7</div>
  <div class="item">8</div>
  <div class="item">9</div>
  <div class="item">10</div>
</div>

CSS

.flipper {
  display: grid;
  grid-gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
}
.flipper.flip {
  grid-template-columns: 1fr;
}

Babel + JSX

function flip(e) {
  const flipper = document.querySelector('.flipper');
  flipper.classList.toggle('flip');
}