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

[CSS] 원 2κ°œκ°€ μ‹œκ³„λ°©ν–₯으둜 νšŒμ „ν•˜λŠ” μ• λ‹ˆλ©”μ΄μ…˜ λ§Œλ“€κΈ°

by 코딩곡책 2022. 8. 29.
λ°˜μ‘ν˜•

원 2κ°œκ°€ λŒμ•„κ°€λŠ” μ• λ‹ˆλ©”μ΄μ…˜ λ§Œλ“€κΈ°βšͺ

이번 ν¬μŠ€νŒ…μ—μ„œλŠ” 동그라미 2κ°œκ°€ μ‹œκ³„λ°©ν–₯으둜 계속 λŒμ•„κ°€λŠ” κ°„λ‹¨ν•œ μ• λ‹ˆλ©”μ΄μ…˜μ„ λ§Œλ“€μ–΄λ³΄λ„λ‘ ν•˜κ² λ‹€.

HTML μ½”λ“œ

loading ν΄λž˜μŠ€κ°’μ„ 가진 div μ•ˆμ— circle1, circle2 ν΄λž˜μŠ€κ°’μ„ 가진 span νƒœκ·Έ 2개λ₯Ό μ’…μ†μ‹œν‚¨λ‹€.

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

CSS μ½”λ“œ

linear-gradient둜 κ·ΈλΌλ””μ–ΈνŠΈ 효과 배경을 μ‚¬μš©ν•  수 있으며 position 속성과 animation, @keyframes 등을 잘 ν™œμš©ν•˜μ—¬ μ• λ‹ˆλ©”μ΄μ…˜μ„ μ™„μ„±μ‹œν‚¬ 수 μžˆλ‹€.

body {
  height: 100vh;
  background-image: linear-gradient(-60deg, darkorchid 0%, lightpink 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;
  margin-top: 110px;
  border-radius: 50%;
  background: #fff;
}
@keyframes loading {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

κ²°κ³Όλ¬Ό

μ™„~μ„±πŸ₯°

λ°˜μ‘ν˜•

λŒ“κΈ€


Reference Book

JavaScript
HTML
CSS
κ΄‘κ³  μ€€λΉ„μ€‘μž…λ‹ˆλ‹€.