Flipping divs

by LW

HTML

<div class="flip-container horizontal">
    <div class="flipper">
        <div class="front">
            FRONT H
        </div>
        <div class="back">
            BACK
        </div>
    </div>
</div>
<div class="flip-container vertical">
    <div class="flipper">
        <div class="front">
            FRONT V
        </div>
        <div class="back">
            BACK
        </div>
    </div>
</div>

CSS

.flip-container {
    -webkit-perspective: 1000;
    font-size: 30px;
    margin: 10px;
    float: left;
}

.flip-container.vertical:hover .flipper {
    -webkit-transform: rotateX(180deg);
}
.flip-container.horizontal:hover .flipper {
    -webkit-transform: rotateY(180deg);
}

.flipper {    
    -webkit-transition: 0.6s;
    -webkit-transform-style: preserve-3d;
    position: relative;
}
.flip-container.vertical .flipper {
    -webkit-transform-origin: 50% 100px;    
}
.flip-container.horizontal .flipper {
    -webkit-transform-origin: 50% 100px;    
}

.front, .back {
    -webkit-backface-visibility: hidden;
    position: absolute;
    top: 0; left: 0;
}

.front {
    z-index: 1;
    background: #3498db;
}

.flip-container, .front, .back {
    width: 200px;
    height: 200px;
    text-align: center;
    line-height: 200px;
}

.back {    
    background: #2ecc71;
}

.flip-container.horizontal .back {
    -webkit-transform: rotateY(180deg);
}
.flip-container.vertical .back {
    -webkit-transform: rotateX(180deg);
}