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

CSS μ• λ‹ˆλ©”μ΄μ…˜ λ§Œλ“€κΈ° : λΉ™κΈ€λΉ™κΈ€ λŒμ•„κ°€λŠ” 원

by μ½”νŒŒμΉ΄ 2022. 8. 29.
728x90

CSS μ• λ‹ˆλ©”μ΄μ…˜ : λΉ™κΈ€λΉ™κΈ€ λŒμ•„κ°€λŠ” 원

μ˜€λŠ˜μ€ CSS의 λ‹€μ–‘ν•œ 속성을 μ΄μš©ν•˜μ—¬ μ• λ‹ˆλ©”μ΄μ…˜μ„ λ§Œλ“€μ–΄ 보도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€. μž‘μ—…ν•΄λ³Ό μ• λ‹ˆλ©”μ΄μ…˜μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.


1. HTML μ†ŒμŠ€

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

λŒμ•„κ°€λŠ” 원을 두 개 λ§Œλ“€ 것이기 λ•Œλ¬Έμ—, circle 이름을 가진 span νƒœκ·Έλ₯Ό 두 개 μž‘μ—…ν•΄ μ£Όμ—ˆμŠ΅λ‹ˆλ‹€.

2. CSS μ†ŒμŠ€

body {
    height: 100vh;
    background-image: linear-gradient(-60deg, #ff5858 0%, #f09819 100%);
}
.loading {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 20px;
  height: 150px;
  animation: loading 1s ease infinite;
}
.loading .circle1 {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
}
.loading .circle2 {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  margin-top: 110px;
}
@keyframes loading {
  0% {transform: translate(-50%, -50%) rotate(0deg)}
  100% {transform: translate(-50%, -50%) rotate(360deg)};
}

loading은 두 개의 원을 μ—°κ²°ν•˜λŠ” κ°€μƒμ˜ ν•˜λ‚˜μ˜ λ§‰λŒ€μž…λ‹ˆλ‹€. 즉, λΉ™κΈ€λΉ™κΈ€ λŒμ•„κ°€λŠ” λ¬΄μƒ‰μ˜ λ§‰λŒ€μ˜ μ–‘ 끝에 원 λ‘κ°œκ°€ λ‹¬λ €μžˆλ‹€κ³  μƒκ°ν•˜λ©΄ λ©λ‹ˆλ‹€. μ• λ‹ˆλ©”μ΄μ…˜ 속성 쀑, easeλŠ” 속도에 κ΄€ν•œ μ„€μ •μœΌλ‘œ, 천천히 μ‹œμž‘λ˜κ³  속도가 μ€„μ–΄λ“€λ©΄μ„œ λλ‚˜λŠ” 효과λ₯Ό μΆ”κ°€ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. κ·Έ λ‹€μŒμ— μ˜€λŠ” infiniteλŠ” 반볡 횟수λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

μœ„μ˜ HTML, CSS μ†ŒμŠ€λ₯Ό ν•©μΉ˜λ©΄ μ• λ‹ˆλ©”μ΄μ…˜μ΄ μ™„μ„±λ©λ‹ˆλ‹€. κ°„λ‹¨ν•˜μ£ ?

728x90

λŒ“κΈ€

κ°μ‚¬ν•©λ‹ˆλ‹€. πŸ¦™

CSS
κ΄‘κ³  쀀비쀑