Flippy!

Horizontally flipping images in CSS3 on hover with a transition.

HTML

<img class="flippy" src="http://lorempixel.com/200/200/"/>
<div>
    <div class="flippy" id="flippy1">  </div><p class="no-rotation">My div rotated</p></div>

CSS

.flippy {
    /**/-moz-transform:scale(1,1);-webkit-transform:scale(1,1);
    transform:scale(1,1);
    /**/-webkit-transition:all 600ms ease;-webkit-transition:all 600ms ease;
    transition:all 600ms ease; }
    .flippy[flipped] {
        /**/-moz-transform:scale(-1,-1);-webkit-transform:scale(-1,-1);
        transform:scale(-1,-1); }
#flippy1
{
    border: 1px solid white;
    background-color:red;
    height:200px;
    width:200px;
}
.no-rotation{vertical-align:top;position:relative;z-index:111; top:-200px;}

JavaScript

// just toggles the 'flipped` attribute.
$('.flippy').hover(function(){
    if ($(this).attr('flipped'))
        $(this).removeAttr('flipped');
    else $(this).attr('flipped','flipped');
});