Easy "3D CSS card flip" example

Let's see a very very basic integration of the awesome "card flip" effect with simple CSS3 properties. Feel free to use/share/contribute.

by Jordan Dayton

HTML

<div class="program"> 
        <div class="card"> 
            <div class="face front">
            <div class="side front">
                Front
            </div> 
            <div class="face back"> 
                Back
            </div> 
        </div> 
    </div>

CSS

body {
 background: #ccc;   
}
.program {
  -webkit-perspective: 800;
   width: 400px;
   height: 500px;
    position: relative;
    margin: 50px auto;
}
.program .card.flipped {
  -webkit-transform: rotatey(-180deg);
}
.program .card {
  width: 100%;
  height: 100%;
  -webkit-transform-style: preserve-3d;
  -webkit-transition: 0.5s;
}
.program .card .face {
  width: 100%;
  height: 100%;
  position: absolute;
  -webkit-backface-visibility: hidden ;
  z-index: 2;
    font-family: Georgia;
    font-size: 3em;
    text-align: center;
    line-height: 200px;
}
.program .card .front {
  position: absolute;
  z-index: 1;
    background: black;
    color: white;
    cursor: pointer;
}
.program .card .back {
  -webkit-transform: rotatey(-180deg);
    background: blue;
    background: white;
    color: black;
    cursor: pointer;
}

.side {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 5px;
  background-color: white;
}

.front {
  z-index: 2;
}

.front .img {
  background-color: #dadce2;
  background-position: center;
  background-size: cover;
  border-radius: 5px 5px 0 0;
  width: 100%;
  height: 250px;
}

.img1 {
  background-image: url("https://cdn.pixabay.com/photo/2018/03/23/10/46/laptop-3253347_640.jpg");
}
.img2 {
  background-image: url("https://cdn.pixabay.com/photo/2016/09/10/17/18/book-1659717_640.jpg");
}
.img3 {
  background-image: url(http://i.imgur.com/I5ABT2v.jpg);
}

JavaScript

$('.program').click(function(){
        $(this).find('.card').addClass('flipped').mouseleave(function(){
            $(this).removeClass('flipped');
        });
        return true;
    });