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 kalmarsh80

HTML

<div class="flip">
    <div class="card">
        <div class="face front">
            <div class="masonry_image">
                <img src="http://www.rocktfan.com/us/61ccbb03430c48a816ad585e20623e80/posts/Z7LgncIppbOi0e5n5pM1_c.png" />
            </div>
        </div>
        <div class="face mid">                <img src="http://www.rocktfan.com/us/61ccbb03430c48a816ad585e20623e80/posts/Z7LgncIppbOi0e5n5pM1_c.png" />
</div>
        <div class="face back">
            <table style='width:240px; height:240px; text-align:center; font-size:14px; font-weight:700;'>
                <tr><td style='height:120px; width:120px; vertical-align:middle;'>repost</td><td style='height:120px; width:120px; vertical-align:middle;'>like</td></tr>
                <tr><td style='height:60px; width:60px; vertical-align:middle;'>share</td><td style='height:60px; width:60px; vertical-align:middle;'>comment</td></tr>
            </table>
        </div>
    </div>
</div>

CSS

body {
    background: #fff;
}
.flip {
    -webkit-perspective: 800;
    width: 240px;
    height: 342px;
    position: relative;
    margin: 50px auto;
    font-size: 11px;
    background: #FFF;
    box-shadow: 0 1px 3px rgba(34, 25, 25, 0.4);
    -moz-box-shadow: 0 1px 2px rgba(34, 25, 25, 0.4);
    -webkit-box-shadow: 0 1px 3px rgba(34, 25, 25, 0.4);
    display: block;
}
.flip .card.flipped {
    -webkit-transform: rotatey(-180deg);
}
.flip .card {
    width: 100%;
    height: 100%;
    -webkit-transform-style: preserve-3d;
    -webkit-transition: 0.3s;
}
.flip .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;
}
.flip .card .front {
    position: absolute;
    z-index: 2;
    background: black;
    color: white;
    cursor: pointer;
}
.flip .card .back {
    position: absolute;
    z-index: 1;
    -webkit-transform: rotatey(-180deg);
    background: #a6a6a6;
    color: black;
    cursor: pointer;
    opacity:0.5;
    filter:alpha(opacity=50);
    /* For IE8 and earlier */
}
.flip .card .mid {
    position: absolute;
    z-index: 1;
    -webkit-backface-visibility: visible !important;
}

JavaScript

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