Computer >> Computer tutorials >  >> Programming >> CSS

How to shake/wiggle an image with CSS?


Following is the code to shake an image with CSS −

Example

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
img{
   width: 400px;
   height: 400px;
   margin:50px;
}
img:hover {
   animation: shakeImg 0.5s;
   animation-iteration-count: infinite;
}
@keyframes shakeImg {
   0% { transform: translate(1px, 1px) rotate(5deg); }
   20% { transform: translate(-3px, 0px) rotate(10deg); }
   30% { transform: translate(3px, 2px) rotate(-10deg); }
   50% { transform: translate(-1px, 2px) rotate(-20deg); }
   70% { transform: translate(3px, 1px) rotate(-25deg); }
   90% { transform: translate(1px, 2px) rotate(10deg); }
   100% { transform: translate(1px, -2px) rotate(-10deg); }
}
</style>
</head>
<body>
<h1>Hover over the image to shake it<h1>
<img src="https://i.picsum.photos/id/551/400/400.jpg">
</body>
</html>

Output

The above code will produce the following output −

How to shake/wiggle an image with CSS?

On hovering over the image will shake as shown in the output below −

How to shake/wiggle an image with CSS?