Files
fizzy/app/assets/stylesheets/animation.css
T
2024-11-18 18:34:34 -06:00

62 lines
1.9 KiB
CSS

/* Animation classes */
.shake {
animation: shake 400ms both;
}
/* Keyframes */
@keyframes bubble-up {
0% { transform: translate(0, 0); }
25% { transform: translate(0.5em, -2em); }
50% { transform: translate(0, -4em); opacity: 0.66; }
75% { transform: translate(0.5em, -6em); opacity: 0.33; }
100% { transform: translate(0, -8em); opacity: 0; }
}
@keyframes float-up-left {
0% { transform: translate(10px, 20px); }
100% { transform: translate(0, 0); }
}
@keyframes float-down-right {
0% { transform: translate(-10px, -20px); }
100% { transform: translate(0, 0); }
}
@keyframes shake {
0% { transform: translateX(-2rem); }
25% { transform: translateX(2rem); }
50% { transform: translateX(-1rem); }
75% { transform: translateX(1rem); }
}
@keyframes appear-then-fade {
0%,100% { opacity: 0; }
5%,60% { opacity: 1; }
}
@keyframes wobble {
0% { transform: rotate(calc(var(--bubble-rotate) + 90deg)); }
15% { border-radius: 66% 34% 72% 28% / 39% 63% 37% 61%; }
25% { border-radius: 55% 47% 62% 40% / 58% 50% 52% 44%; }
33% { border-radius: 46% 54% 61% 39% / 50% 51% 49% 50%; }
50% { border-radius: 54% 46% 61% 39% / 57% 49% 51% 43%; }
75% { border-radius: 53% 45% 60% 38% / 56% 48% 50% 42%; }
}
@keyframes wobble-alt {
0% { transform: rotate(calc(var(--bubble-rotate) + -90deg)); }
12% { border-radius: 66% 34% 72% 28% / 39% 63% 37% 61%; }
25% { border-radius: 53% 45% 60% 38% / 56% 48% 50% 42%; }
33% { border-radius: 55% 47% 62% 40% / 58% 50% 52% 44%; }
50% { border-radius: 46% 54% 61% 39% / 50% 51% 49% 50%; }
75% { border-radius: 54% 46% 61% 39% / 57% 49% 51% 43%; }
}
@keyframes wobble-img {
15% { border-radius: 66% 34% 72% 28% / 39% 63% 37% 61%; }
25% { border-radius: 55% 47% 62% 40% / 58% 50% 52% 44%; }
33% { border-radius: 46% 54% 61% 39% / 50% 51% 49% 50%; }
50% { border-radius: 54% 46% 61% 39% / 57% 49% 51% 43%; }
75% { border-radius: 53% 45% 60% 38% / 56% 48% 50% 42%; }
}