CSS3 :: 3-D Card flip

CSS3 :: 3-D Card flip

by Nirvanachain

HTML

<!-- card -->
<div class="flip-container">
  
  <div class="flipper">
    
    <!-- Front Content -->
    <div class="front">
      Front
    </div>
    
    <!-- Back Content -->
    <div class="back">
      Back
    </div>
    
  </div>
  
</div>

CSS

/* entire container, keeps perspective */
.flip-container {
    -webkit-perspective: 1000;
	-moz-perspective: 1000;
	perspective: 1000;

	border: 1px solid #ccc;
}

/* flip the pane when hovered */
.flip-container:hover .flipper {
  -webkit-transform: rotateY(180deg);
	-moz-transform: rotateY(180deg);
	transform: rotateY(180deg);
}

.flip-container, .front, .back {
  width: 200px;
  height: 200px;
}

/* flip speed goes here */
.flipper {
  -webkit-transition: 0.6s;
	-webkit-transform-style: preserve-3d;

	-moz-transition: 0.6s;
	-moz-transform-style: preserve-3d;

	transition: 0.6s;
	transform-style: preserve-3d;

	position: relative;
}

/* hide back of pane during swap */
.front, .back {
  -webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	backface-visibility: hidden;

	position: absolute;
	top: 0;
	left: 0;
}

/* front pane, placed above back */
.front {
  background: lightgreen;
	z-index: 2;
}

/* back, initially hidden pane */
.back {
  background: lightblue;
	-webkit-transform: rotateY(180deg);
	-moz-transform: rotateY(180deg);
	transform: rotateY(180deg);
}