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;
});