Skip to content

Commit 744f2c7

Browse files
buttons wiggling animation (#2778)
Co-authored-by: Laureline Paris <32878345+LaurelineP@users.noreply.github.com>
1 parent 8ba78ad commit 744f2c7

File tree

3 files changed

+96
-0
lines changed

3 files changed

+96
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Wiggling Buttons</title>
7+
<link rel="stylesheet" href="styles.css">
8+
</head>
9+
<body>
10+
11+
<button class="wiggle-button move-right">Wiggle Me Right!</button>
12+
<button class="wiggle-button move-left">Wiggle Me Left!</button>
13+
<button class="wiggle-button move-up">Wiggle Me Up!</button>
14+
<button class="wiggle-button move-down">Wiggle Me Down!</button>
15+
16+
</body>
17+
</html>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"artName": "wiggling buttons",
3+
"githubHandle": "AfreenInnovates"
4+
}
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
body {
2+
display: flex;
3+
justify-content: center;
4+
align-items: center;
5+
height: 100vh;
6+
font-family: Arial, sans-serif;
7+
}
8+
9+
.wiggle-button {
10+
background-color: #4CAF50;
11+
border: none;
12+
color: white;
13+
padding: 15px 32px;
14+
text-align: center;
15+
text-decoration: none;
16+
display: inline-block;
17+
font-size: 16px;
18+
margin: 10px;
19+
cursor: pointer;
20+
border-radius: 8px;
21+
transition: transform 0.2s ease, background-color 0.3s ease;
22+
position: relative;
23+
}
24+
25+
@keyframes wiggle {
26+
0% { transform: rotate(0deg); }
27+
25% { transform: rotate(5deg); }
28+
50% { transform: rotate(-5deg); }
29+
75% { transform: rotate(2deg); }
30+
100% { transform: rotate(0deg); }
31+
}
32+
33+
@keyframes move-right {
34+
0% { transform: translateX(0); }
35+
50% { transform: translateX(20px); }
36+
100% { transform: translateX(0); }
37+
}
38+
39+
@keyframes move-left {
40+
0% { transform: translateX(0); }
41+
50% { transform: translateX(-20px); }
42+
100% { transform: translateX(0); }
43+
}
44+
45+
@keyframes move-up {
46+
0% { transform: translateY(0); }
47+
50% { transform: translateY(-20px); }
48+
100% { transform: translateY(0); }
49+
}
50+
51+
@keyframes move-down {
52+
0% { transform: translateY(0); }
53+
50% { transform: translateY(20px); }
54+
100% { transform: translateY(0); }
55+
}
56+
57+
.wiggle-button:hover {
58+
animation: wiggle 0.3s ease-in-out forwards;
59+
}
60+
61+
.move-right:hover {
62+
animation: move-right 0.3s ease forwards;
63+
}
64+
65+
.move-left:hover {
66+
animation: move-left 0.3s ease forwards;
67+
}
68+
69+
.move-up:hover {
70+
animation: move-up 0.3s ease forwards;
71+
}
72+
73+
.move-down:hover {
74+
animation: move-down 0.3s ease forwards;
75+
}

0 commit comments

Comments
 (0)