style: enhance UI animations and feedback
- Improve rotating symbol animation with scaling effects - Add fade-in transitions for smoother UI - Update animation timing for better visual feedback - Optimize loading indicator appearance
This commit is contained in:
@@ -378,26 +378,46 @@ button:disabled,
|
|||||||
|
|
||||||
/* Rotating symbol animation */
|
/* Rotating symbol animation */
|
||||||
@keyframes rotate-symbol {
|
@keyframes rotate-symbol {
|
||||||
0% { content: "◐"; }
|
0% { content: "◐"; transform: scale(1); }
|
||||||
25% { content: "◓"; }
|
25% { content: "◓"; transform: scale(10); }
|
||||||
50% { content: "◑"; }
|
50% { content: "◑"; transform: scale(1); }
|
||||||
75% { content: "◒"; }
|
75% { content: "◒"; transform: scale(10); }
|
||||||
100% { content: "◐"; }
|
100% { content: "◐"; transform: scale(1); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fade-in {
|
||||||
|
from {
|
||||||
|
opacity: 0;
|
||||||
|
transform: scale(0.8);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1;
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.rotating-symbol {
|
.rotating-symbol {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: text-bottom;
|
vertical-align: text-bottom;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
|
animation: fade-in 0.2s ease-out;
|
||||||
|
font-weight: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
.rotating-symbol::before {
|
.rotating-symbol::before {
|
||||||
content: "◐";
|
content: "◐";
|
||||||
animation: rotate-symbol 2s linear infinite;
|
animation: rotate-symbol 1.6s steps(4, end) infinite;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
font-size: inherit;
|
font-size: inherit;
|
||||||
line-height: inherit;
|
line-height: 1;
|
||||||
vertical-align: baseline;
|
vertical-align: baseline;
|
||||||
|
transform-origin: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Make the rotating symbol more prominent at larger sizes */
|
||||||
|
.rotating-symbol.text-xl::before,
|
||||||
|
.rotating-symbol.text-2xl::before {
|
||||||
|
font-weight: 900;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Shimmer hover effect */
|
/* Shimmer hover effect */
|
||||||
@@ -559,4 +579,41 @@ code::-webkit-scrollbar-thumb:hover,
|
|||||||
|
|
||||||
.animate-scanlines {
|
.animate-scanlines {
|
||||||
animation: scanlines 8s linear infinite;
|
animation: scanlines 8s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Screenshot Shutter Animation */
|
||||||
|
@keyframes shutterFlash {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.shutter-flash {
|
||||||
|
animation: shutterFlash 0.5s ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Image Move to Input Animation */
|
||||||
|
@keyframes moveToInput {
|
||||||
|
0% {
|
||||||
|
transform: scale(1) translateY(0);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
transform: scale(0.3) translateY(50%);
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: scale(0.1) translateY(100vh);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-move-to-input {
|
||||||
|
animation: moveToInput 0.8s ease-in-out forwards;
|
||||||
}
|
}
|
Reference in New Issue
Block a user