How to Flip Images
- Previous Page Sticky Image
- Next Page Shaking Image
Learn how to flip images using CSS (add mirror effect).
Move your mouse over the image:
How to Flip Images
<style> img:hover { -webkit-transform: scaleX(-1); transform: scaleX(-1); } </style> <img src="paris.jpg" alt="Paris">
Note:This example is not suitable for tablets or mobile phones.
Tip:Please visit our CSS 3D Transformation Tutorial, to learn more about 3D transformations.
3D flip images with text
Learn how to animate 3D flips on images with text:

Shenzhen
What an amazing city
Step 1 - Add HTML:
<div class="flip-box"> <div class="flip-box-inner"> <div class="flip-box-front"> <img src="img_paris.jpg" alt="Paris" style="width:300px;height:200px"> </div> <div class="flip-box-back"> <h2>Paris</h2> <p>What an amazing city</p> </div> </div> </div>
Second step - Add CSS:
/* Flip box container - can set width and height to any value. We added a border property to show that the flip itself will extend beyond the box when the mouse hovers (remove the perspective effect if you do not want 3D effects). */ .flip-box { background-color: transparent; width: 300px; height: 200px; border: 1px solid #f1f1f1; perspective: 1000px; /* Remove this if you do not want 3D effects */ } /* This container is used to position the front and back sides */ .flip-box-inner { position: relative; width: 100%; height: 100%; text-align: center; transition: transform 0.8s; transform-style: preserve-3d; } /* Perform a horizontal flip when the mouse is over the flip box container */ .flip-box:hover .flip-box-inner { transform: rotateY(180deg); } /* Position the front and back sides */ .flip-box-front, .flip-box-back { position: absolute; width: 100%; height: 100%; -webkit-backface-visibility: hidden; /* Safari */ backface-visibility: hidden; } /* Set the style of the front side (fallback if the image is missing) */ .flip-box-front { background-color: #bbb; color: black; } /* Design the style of the back side */ .flip-box-back { background-color: dodgerblue; color: white; transform: rotateY(180deg); }
- Previous Page Sticky Image
- Next Page Shaking Image