JSFiddle - React, Tailwind, and code Playground

by HcJanni

HTML

<section class="container">
  <div id="card" class="card">
    <figure class="front">1</figure>
    <figure class="back">2</figure>
  </div>
</section>

<section id="options">
  <p>
    <button id="flip" class="flip">Flip Card</button>
  </p>
</section>

<section class="container">
  <div id="card2" class="card">
    <figure class="front">1</figure>
    <figure class="back">2</figure>
  </div>
</section>

<section id="options2">
  <p>
    <button id="flip2" class="flip">Flip Card</button>
  </p>
</section>

CSS

.container {
  width: 200px;
  height: 260px;
  position: relative;
  perspective: 800px;
}

.card {
  width: 100%;
  height: 100%;
  position: absolute;
  transform-style: preserve-3d;
  transition: transform 1s;
}

.card figure {
  margin: 0;
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}

.card .front {
  background: red;
}

.card .back {
  background: blue;
  transform: rotateY( 180deg);
}

.card.flipped {
  transform: rotateY( 180deg);
}

JavaScript

var card = document.getElementById('card');

document.getElementByClassName('.flip').addEventListener('click', function() {
    card.classList.toggle('flipped');
}, false);