CSS Flutter Effect

CSS Flutter Effect

Description

It provides the ability to move up and down, left and right, and cause small, rapid movements.

Grammar

@keyframes wiggle { 
0% { transform: skewX(9deg); } 
10% { transform: skewX(-8deg); } 
20% { transform: skewX(7deg); } 
30% { transform: skewX(-6deg); } 
40% { transform: skewX(5deg); } 
50% { transform: skewX(-4deg); } 
60% { transform: skewX(3deg); } 
70% { transform: skewX(-2deg); } 
80% { transform: skewX(1deg); } 
90% { transform: skewX(0deg); } 
100% { transform: skewX(0deg); } 
} 

Parameters

  • Transform − Transforms apply to the element’s 2D and 3D transformations.
  • Opacity − Opacity applies to the 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: 10s; 
animation-duration: 10s; 
-webkit-animation-fill-mode: both; 
animation-fill-mode: both; 
} 

@-webkit-keyframes wiggle { 
0% { -webkit-transform: skewX(9deg); } 
10% { -webkit-transform: skewX(-8deg); } 
20% { -webkit-transform: skewX(7deg); } 
30% { -webkit-transform: skewX(-6deg); } 
40% { -webkit-transform: skewX(5deg); } 
50% { -webkit-transform: skewX(-4deg); } 
60% { -webkit-transform: skewX(3deg); } 
70% { -webkit-transform: skewX(-2deg); } 
80% { -webkit-transform: skewX(1deg); } 
90% { -webkit-transform: skewX(0deg); } 
100% { -webkit-transform: skewX(0deg); } 
} 

@keyframes wiggle { 
0% { transform: skewX(9deg); } 
10% { transform: skewX(-8deg); } 
20% { transform: skewX(7deg); } 
30% { transform: skewX(-6deg); } 
40% { transform: skewX(5deg); } 
50% { transform: skewX(-4deg); } 
60% { transform: skewX(3deg); } 
70% { transform: skewX(-2deg); } 
80% { transform: skewX(1deg); } 
90% { transform: skewX(0deg); } 
100% { transform: skewX(0deg); } 
} 

.wiggle { 
-webkit-animation-name: wiggle; 
animation-name: wiggle; 
-webkit-animation-timing-function: ease-in; 
animation-timing-function: ease-in; 
} 

.animated.wiggle { 
-webkit-animation-duration: 0.75s; 
animation-duration: 0.75s; 
} 
</style> 
</head> 

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

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

</body> 
</html> 

It will produce the following results −

Leave a Reply

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