Files
keystone/public/scss/component/_animation.scss
2025-07-30 13:44:47 +05:30

295 lines
5.5 KiB
SCSS

.up-down {
-webkit-animation: up-down 1s infinite alternate;
animation: up-down 1s infinite alternate;
}
@-webkit-keyframes up-down {
0% {
transform: translateY(0);
}
100% {
transform: translateY(-10px);
}
}
@keyframes up-down {
0% {
transform: translateY(0);
}
100% {
transform: translateY(-10px);
}
}
.up-down-2 {
-webkit-animation: up-down-2 0.9s infinite alternate;
animation: up-down-2 0.9s infinite alternate;
}
@-webkit-keyframes up-down-2 {
0% {
transform: translateY(-10px);
}
100% {
transform: translateY(0);
}
}
.left-right {
-webkit-animation: left-right 1.5s infinite alternate;
animation: left-right 1.5s infinite alternate;
}
@-webkit-keyframes left-right {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-20px);
}
}
@keyframes ripple {
0% {
box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.3);
}
50% {
box-shadow: 0 0 0 20px rgba(255, 255, 255, 0.2);
}
100% {
box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.1);
}
}
.effect-content-slide {
.effect-item {
opacity: 0;
animation-fill-mode: forwards;
animation-iteration-count: 1;
animation-duration: 1.3s;
animation-delay: 0.3s;
animation-name: var(--animation-name);
}
.effect-img-zoom {
position: relative;
.img-zoom {
-webkit-transition: all 15s linear;
-khtml-transition: all 15s linear;
-moz-transition: all 15s linear;
-ms-transition: all 15s linear;
-o-transition: all 15s linear;
transition: all 15s linear;
min-height: 350px;
object-fit: cover;
}
}
.swiper-slide-active,
.tab-pane.active {
.effect-up {
--animation-name: slideinup;
}
.effect-left {
--animation-name: slideinleft;
}
.effect-right {
--animation-name: slideinright;
}
.effect-down {
--animation-name: slideindown;
}
.img-zoom {
transform: scale(1.25);
}
.effect-item {
&.effect-1 {
animation-delay: 0.3s;
}
&.effect-2 {
animation-delay: 0.7s;
}
&.effect-3 {
animation-delay: 0.11s;
}
&.effect-4 {
animation-delay: 0.15s;
}
&.effect-5 {
animation-delay: 0.19s;
}
}
}
}
@keyframes slideinup {
0% {
opacity: 0;
transform: translateY(100px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slideinright {
0% {
opacity: 0;
transform: translateX(20px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
@keyframes slideindown {
0% {
opacity: 0;
transform: translateY(-100px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slideinleft {
0% {
opacity: 0;
transform: translateX(-20px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
@keyframes rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes rotate-2 {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(-360deg);
}
}
@keyframes iconShape {
0%,
100% {
transform: translate3d(0, 0, 0) rotateZ(0.01deg);
}
34% {
transform: translate3d(0, 5px, 0) rotateZ(0.01deg);
}
50% {
transform: translate3d(0, 0, 0) rotateZ(0.01deg);
}
67% {
transform: translate3d(0, -3px, 0) rotateZ(0.01deg);
}
}
@keyframes sliderShape {
0%,
100% {
border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%;
transform: translate3d(0, 0, 0) rotateZ(0.01deg);
}
34% {
border-radius: 70% 30% 46% 54% / 30% 29% 71% 70%;
transform: translate3d(0, 5px, 0) rotateZ(0.01deg);
}
50% {
transform: translate3d(0, 0, 0) rotateZ(0.01deg);
}
67% {
border-radius: 100% 60% 60% 100% / 100% 100% 60% 60%;
transform: translate3d(0, -3px, 0) rotateZ(0.01deg);
}
}
.img-custom-anim-right {
animation: img-anim-right 1.3s forwards cubic-bezier(0.645, 0.045, 0.355, 1)
0.4s;
opacity: 0;
}
@keyframes img-anim-right {
0% {
transform: translateX(5%);
clip-path: inset(0 0 0 100%);
opacity: 0;
}
100% {
transform: translateX(0);
clip-path: inset(0 0 0 0);
opacity: 1;
}
}
.img-custom-anim-left {
animation: img-anim-left 1.3s forwards cubic-bezier(0.645, 0.045, 0.355, 1)
0.4s;
opacity: 0;
}
@keyframes img-anim-left {
0% {
transform: translateX(-5%);
clip-path: inset(0 100% 0 0);
opacity: 0;
}
100% {
transform: translateX(0);
clip-path: inset(0 0 0 0);
opacity: 1;
}
}
@keyframes spin {
0% {
transform: rotate(0deg);
box-shadow: 0 2px 0 #0075ff;
}
50% {
transform: rotate(180deg);
box-shadow: 0 2px 0 #0075ff;
}
100% {
transform: rotate(360deg);
box-shadow: 0 2px 0 #0075ff;
}
}
@keyframes wave-front {
100% {
transform: translateX(-50%);
}
}
@keyframes wave-back {
100% {
transform: translateX(50%);
}
}