Flip card effect

CSS3 cross-browser flip card effect

by Gustavo Carvalho

HTML

<div class="flipper">
    <div class="side side1">
        <p>1</p>
    </div>
    <div class="side side2">
        <p>2</p>
    </div>
</div>

CSS

.flipper {
  width: 200px;
  height: 200px;
  position: relative;
}

p {
  color: #fff;
}

.side {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: 5s;
  -moz-transition: 5s;
  -ms-transition: 5s;
  transition: 5s;

}

.side1 {
  z-index: 2;
  background-color: #666;
  -webkit-transform: rotateY(0deg);
  -moz-transform: rotateY(0deg);
  -ms-transform: rotateY(0deg);
  transform: rotateY(0deg);
}

.side2 {
  background-color: #000;
  -webkit-transform: rotateY(180deg);
  -moz-transform: rotateY(180deg);
  -ms-transform: rotateY(180deg);
  transform: rotateY(180deg);
}

JavaScript

$('.side1').css('transform', 'rotatey(180deg)');
$('.side2').css('transform', 'rotatey(0deg)');