CSS rollover effect

CSS Rollover Effect

Description

An element can be rolled over or caused to roll over by a sudden, rapid movement.

Grammar

@keyframes flip { 
0% { 
transform: perspective(400px) rotateY(0); 
animation-timing-function: ease-out; 
} 
40% { 
transform: perspective(400px) translateZ(150px) rotateY(170deg); 
animation-timing-function: ease-out; 
} 
50% { 
transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); 
animation-timing-function: ease-in; 
} 
80% { 
transform: perspective(400px) rotateY(360deg) scale(.95); 
animation-timing-function: ease-in; 
} 
100% { 
transform: perspective(400px) scale(1); 
animation-timing-function: ease-in; 
} 
} 

Parameters

  • transform − Transform applies 2D and 3D transformations to an element.
  • opacity − Opacity applies to an element to make it semi-transparent.


Example

<html> 
<head> 
<style> 
.animated { 
background-image: url(https://geek-docs.com/static/https://coder-cafe.com/wp-content/uploads/2025/09/logo.png); 
background-repeat: no-repeat; 
background-position: left top; 
padding-top:95px; 
margin-bottom:60px; 
-webkit-animation-duration: 1s; 
animation-duration: 1s; 
-webkit-animation-fill-mode: both; 
animation-fill-mode: both; } 

@-webkit-keyframes flip { 
0% { 
-webkit-transform: perspective(400px) rotateY(0); 
-webkit-animation-timing-function: ease-out; 
} 
40% { 
-webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg); 
-webkit-animation-timing-function: ease-out; 
} 
50% { 
-webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); 
-webkit-animation-timing-function: ease-in; 
} 
80% { 
-webkit-transform: perspective(400px) rotateY(360deg) scale(.95); -webkit-animation-timing-function: ease-in; 
} 
100% { 
-webkit-transform: perspective(400px) scale(1); 
-webkit-animation-timing-function: ease-in; 
} 
} 

@keyframes flip { 
0% { 
transform: perspective(400px) rotateY(0); 
animation-timing-function: ease-out; 
} 
40% { 
transform: perspective(400px) translateZ(150px) rotateY(170deg); 
animation-timing-function: ease-out; 
} 
50% { 
transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); 
animation-timing-function: ease-in; 
} 
80% { 
transform: perspective(400px) rotateY(360deg) scale(.95); 
animation-timing-function: ease-in; 
} 
100% { 
transform: perspective(400px) scale(1); 
animation-timing-function: ease-in; 
} 
} 

.flip { 
-webkit-backface-visibility: visible !important; 
-webkit-animation-name: flip; 
backface-visibility: visible !important; 
animation-name: flip; 
} 
</style> 
</head> 

<body> 

<div id = "animated-example" class = "animated flip"></div> 
<button onclick = "myFunction()">Reload page</button> 

<script> 
function myFunction() { 
location.reload(); 
} </script>

</body> 
</html> 

It will produce the following result −

Leave a Reply

Your email address will not be published. Required fields are marked *