Dragonball Online Goku Hand
본문 바로가기
CSS

[CSS] "통통튀는 공" 을 만들어봅시다!

by 별의 코비 2022. 9. 2.
728x90

🧷 codepen을 이용해서 어디로 튈지 모르는 공🏐을 만들어봅시다!


공과 공의 잔상(?)까지 HTML과 CSS의 animation 기능을 이용하여 만들어봅시다.


코드 소스를 알아봅시다.💻

✔️HTML

공 5개를 만들어 주어야 합니다.
<div class="wrapper">
  <div></div>
</div>
<div class="wrapper">
  <div></div>
</div>
<div class="wrapper">
  <div></div>
</div>
<div class="wrapper">
  <div></div>
</div>
<div class="wrapper">
  <div></div>
</div>

✔️CSS

nth-of-type()을 통해서 공의 순번을 정해준 후 각각의 애니메이션 효과를 지정해줍니다.
* {
  box-sizing:border-box
}
body {
  background:linear-gradient(to top, #a18ca1 0%, #fbc2eb 100%);
  width:100vw;
  height:100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
}
.wrapper {
  position: absolute;
  animation: x 1s ease-in-out alternate infinite 0s both;
}
.wrapper:nth-of-type(2) {
  animation-delay:0.1s;
}
.wrapper:nth-of-type(3) {
  animation-delay:0.2s;
}
.wrapper:nth-of-type(4) {
  animation-delay:0.3s;
}
.wrapper:nth-of-type(5) {
  animation-delay:0.4s;
}

.wrapper>div{
  width: 50px;
  height: 50px;
  background-color: #fff;
  border-radius: 100%;
  margin: 40px;
  animation: y 1s linear infinite 0s both
}
.wrapper:nth-of-type(2)>div{
   animation-delay:0.1s;
   height: 40px;
   width: 40px;
   opacity: 0.8;
}
.wrapper:nth-of-type(3)>div{
   animation-delay:0.2s;
   height: 30px;
   width: 30px;
   opacity: 0.6;
}
.wrapper:nth-of-type(4)>div{
   animation-delay:0.3s;
   height: 20px;
   width: 20px;
   opacity: 0.4;
}
.wrapper:nth-of-type(5)>div{
   animation-delay:0.4s;
   height: 10px;
   width: 10px;
   opacity: 0.2;
}

@keyframes x {
  0% {
    transform:translatex(-100px);
  }
  100% {
    transform:translatex(100px);
  }
}

@keyframes y {
  25% {
    transform:translatey(-50px);
  }
  0%,50%,100% {
    transform:translatey(0px);
  }
  75% {
    transform:translatey(50px);
  }
}

댓글