diff options
| author | joonhoekim <26rote@gmail.com> | 2025-08-25 07:21:43 +0000 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-08-25 07:21:43 +0000 |
| commit | 780d56edd3772813b4e557061a3c90d9f7d1ddd0 (patch) | |
| tree | 71d2526637ac89811fe3e1b4e7e2b280dc2457cd /components/common/loading/animation.css | |
| parent | fe924e1581fff24a91d65b33313bd3f39499bd72 (diff) | |
(김준회) 로그인 페이지 자동 리다이렉트 (이미 로그인한 경우) 및 시스템 설정 스타일 오류 수정, 로딩 애니메이션 컴포넌트 추가
Diffstat (limited to 'components/common/loading/animation.css')
| -rw-r--r-- | components/common/loading/animation.css | 336 |
1 files changed, 336 insertions, 0 deletions
diff --git a/components/common/loading/animation.css b/components/common/loading/animation.css new file mode 100644 index 00000000..a560449c --- /dev/null +++ b/components/common/loading/animation.css @@ -0,0 +1,336 @@ +.loader { + position: relative; + width: 75px; + height: 100px; +} + +.loader__bar { + position: absolute; + bottom: 0; + width: 10px; + height: 50%; + background: rgb(0, 0, 0); + transform-origin: center bottom; + box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2); +} + +.loader__bar:nth-child(1) { + left: 0px; + transform: scale(1, 0.2); + -webkit-animation: barUp1 4s infinite; + animation: barUp1 4s infinite; +} + +.loader__bar:nth-child(2) { + left: 15px; + transform: scale(1, 0.4); + -webkit-animation: barUp2 4s infinite; + animation: barUp2 4s infinite; +} + +.loader__bar:nth-child(3) { + left: 30px; + transform: scale(1, 0.6); + -webkit-animation: barUp3 4s infinite; + animation: barUp3 4s infinite; +} + +.loader__bar:nth-child(4) { + left: 45px; + transform: scale(1, 0.8); + -webkit-animation: barUp4 4s infinite; + animation: barUp4 4s infinite; +} + +.loader__bar:nth-child(5) { + left: 60px; + transform: scale(1, 1); + -webkit-animation: barUp5 4s infinite; + animation: barUp5 4s infinite; +} + +.loader__ball { + position: absolute; + bottom: 10px; + left: 0; + width: 10px; + height: 10px; + background: rgb(44, 12, 255); + border-radius: 50%; + -webkit-animation: ball624 4s infinite; + animation: ball624 4s infinite; +} + +@keyframes ball624 { + 0% { + transform: translate(0, 0); + } + + 5% { + transform: translate(8px, -14px); + } + + 10% { + transform: translate(15px, -10px); + } + + 17% { + transform: translate(23px, -24px); + } + + 20% { + transform: translate(30px, -20px); + } + + 27% { + transform: translate(38px, -34px); + } + + 30% { + transform: translate(45px, -30px); + } + + 37% { + transform: translate(53px, -44px); + } + + 40% { + transform: translate(60px, -40px); + } + + 50% { + transform: translate(60px, 0); + } + + 57% { + transform: translate(53px, -14px); + } + + 60% { + transform: translate(45px, -10px); + } + + 67% { + transform: translate(37px, -24px); + } + + 70% { + transform: translate(30px, -20px); + } + + 77% { + transform: translate(22px, -34px); + } + + 80% { + transform: translate(15px, -30px); + } + + 87% { + transform: translate(7px, -44px); + } + + 90% { + transform: translate(0, -40px); + } + + 100% { + transform: translate(0, 0); + } +} + +@-webkit-keyframes barUp1 { + 0% { + transform: scale(1, 0.2); + } + + 40% { + transform: scale(1, 0.2); + } + + 50% { + transform: scale(1, 1); + } + + 90% { + transform: scale(1, 1); + } + + 100% { + transform: scale(1, 0.2); + } +} + +@keyframes barUp1 { + 0% { + transform: scale(1, 0.2); + } + + 40% { + transform: scale(1, 0.2); + } + + 50% { + transform: scale(1, 1); + } + + 90% { + transform: scale(1, 1); + } + + 100% { + transform: scale(1, 0.2); + } +} + +@-webkit-keyframes barUp2 { + 0% { + transform: scale(1, 0.4); + } + + 40% { + transform: scale(1, 0.4); + } + + 50% { + transform: scale(1, 0.8); + } + + 90% { + transform: scale(1, 0.8); + } + + 100% { + transform: scale(1, 0.4); + } +} + +@keyframes barUp2 { + 0% { + transform: scale(1, 0.4); + } + + 40% { + transform: scale(1, 0.4); + } + + 50% { + transform: scale(1, 0.8); + } + + 90% { + transform: scale(1, 0.8); + } + + 100% { + transform: scale(1, 0.4); + } +} + +@-webkit-keyframes barUp3 { + 0% { + transform: scale(1, 0.6); + } + + 100% { + transform: scale(1, 0.6); + } +} + +@keyframes barUp3 { + 0% { + transform: scale(1, 0.6); + } + + 100% { + transform: scale(1, 0.6); + } +} + +@-webkit-keyframes barUp4 { + 0% { + transform: scale(1, 0.8); + } + + 40% { + transform: scale(1, 0.8); + } + + 50% { + transform: scale(1, 0.4); + } + + 90% { + transform: scale(1, 0.4); + } + + 100% { + transform: scale(1, 0.8); + } +} + +@keyframes barUp4 { + 0% { + transform: scale(1, 0.8); + } + + 40% { + transform: scale(1, 0.8); + } + + 50% { + transform: scale(1, 0.4); + } + + 90% { + transform: scale(1, 0.4); + } + + 100% { + transform: scale(1, 0.8); + } +} + +@-webkit-keyframes barUp5 { + 0% { + transform: scale(1, 1); + } + + 40% { + transform: scale(1, 1); + } + + 50% { + transform: scale(1, 0.2); + } + + 90% { + transform: scale(1, 0.2); + } + + 100% { + transform: scale(1, 1); + } +} + +@keyframes barUp5 { + 0% { + transform: scale(1, 1); + } + + 40% { + transform: scale(1, 1); + } + + 50% { + transform: scale(1, 0.2); + } + + 90% { + transform: scale(1, 0.2); + } + + 100% { + transform: scale(1, 1); + } +}
\ No newline at end of file |
