λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
CSS/Animation

μ• λ‹ˆλ©”μ΄μ…˜ λΉ™κΈ€λΉ™κΈ€

by oranssy 2022. 8. 29.
728x90
λ°˜μ‘ν˜•

⭐️ μ• λ‹ˆλ©”μ΄μ…˜ 효과 : λΉ™κΈ€λΉ™κΈ€ 점 λ‘˜ ⭐️


01. μ• λ‹ˆλ©”μ΄μ…˜ 효과

μ• λ‹ˆλ©”μ΄μ…˜(Animation) νš¨κ³ΌλŠ” HTML μš”μ†Œμ— μ μš©λ˜λŠ” CSS μŠ€νƒ€μΌμ„ λ‹€λ₯Έ CSS μŠ€νƒ€μΌλ‘œ λΆ€λ“œλŸ½κ²Œ λ³€ν™”μ‹œν‚΅λ‹ˆλ‹€.
μ• λ‹ˆλ©”μ΄μ…˜μ€ μ• λ‹ˆλ©”μ΄μ…˜μ„ λ‚˜νƒ€λ‚΄λŠ” CSS μŠ€νƒ€μΌκ³Ό μ• λ‹ˆλ©”μ΄μ…˜μ˜ μ—°μ†λœ μž₯λ©΄(sequence)λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 볡수의 ν‚€ν”„λ ˆμž„(@keyframes)λ“€λ‘œ μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€.

   ___ μ°Έκ³ ν•˜κΈ° ___
  `1   @keyframes : CSS μ• λ‹ˆλ©”μ΄μ…˜μ—μ„œ ꡬ간을 μ •ν•˜κ³  각 κ΅¬κ°„λ³„λ‘œ μ–΄λ–€ μŠ€νƒ€μΌμ„ μ μš©μ‹œν‚¬μ§€ μ •ν•©λ‹ˆλ‹€.


02. 점 두 κ°œκ°€ λΉ™κΈ€ λ„λŠ” 효과 λ§Œλ“€κΈ°

[1] < div > λ°•μŠ€ λ§Œλ“€κΈ°

div μ•ˆμ— span 으둜 점 두 개λ₯Ό λ§Œλ“€μ–΄ μ€λ‹ˆλ‹€.

<div class="loading">
  <span class="circle1"></span>
  <span class="circle2"></span>
</div>

[2] CSS μ„€μ •ν•˜κΈ°

@keyframes 을 μ΄μš©ν•˜μ—¬ μ• λ‹ˆλ©”μ΄μ…˜μ˜ μ›€μ§μž„μ„ μ‘°μ ˆν•©λ‹ˆλ‹€.

  body {
    height: 100vh;
    background-image: linear-gradient(180deg, #191970 0%, #4B0082 100%)       // κ·ΈλΌλ°μ΄μ…˜ 배경색
  }
  
  .loading {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 20px;
    height: 150px;
    animation: loading 1s ease 100;     // μ• λ‹ˆλ©”μ΄μ…˜μ˜ λλΆ€λΆ„μ—λŠ” 천천히 움직이도둝
  }
  
  .loading .circle1 {
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background:	#FFF5EE;
  }
  
  .loading .circle2 {
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background:	#F0F8FF;
    margin-top: 110px;      // 점 κ²ΉμΉ˜μ§€ μ•Šκ²Œ λ–¨μ–΄λœ¨λ € 놓기
  }
  
  @keyframes loading {
    0% {
      transform: translate(-50%, -50%) rotate(0deg)
    }
    100% {
      transform: translate(-50%, -50%) rotate(360deg)
    }
  }

결과보기

728x90
λ°˜μ‘ν˜•

λŒ“κΈ€