css 애니메이션

css 애니메이션

QA

css 애니메이션

본문

832659835_1586281247.4975.png

 

이 사진을 이용해서 날아다니는 새 애니메이션을 홈페이지 배경에 적용하고 싶은데 css 코드가 안 먹히는것 같아요 ㅠ 도움 부탁드립니다 

 

html 소스 


    <div class="bird-container bird-container--one">
        <div class="bird bird--one"></div>
    </div>
    
    <div class="bird-container bird-container--two">
        <div class="bird bird--two"></div>
    </div>
    
    <div class="bird-container bird-container--three">
        <div class="bird bird--three"></div>
    </div>
    
    <div class="bird-container bird-container--four">
        <div class="bird bird--four"></div>
    </div>
    

 

 

css 소스 

 

 
.bird {
    background-image: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/174479/bird-cells-new.svg);
    background-size: auto 100%;
    width: 88px;
    height: 125px;
    will-change: background-position;
    
    animation-name: fly-cycle;
    animation-timing-function: steps(10);
    animation-iteration-count: infinite;
    &--one {
        animation-duration: 1s;
        animation-delay: -0.5s;        
    }
    
    &--two {
        animation-duration: 0.9s;
        animation-delay: -0.75s;
    }
    
    &--three {
        animation-duration: 1.25s;
        animation-delay: -0.25s;
    }
    
    &--four {
        animation-duration: 1.1s;
        animation-delay: -0.5s;
    }
}
.bird-container {
    position: absolute;
    top: 20%;
    left: -10%;
    transform: scale(0) translateX(-10vw);
    will-change: transform;
    
    animation-name: fly-right-one;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    
    &--one {
        animation-duration: 15s;
        animation-delay: 0;
    }
    
    &--two {
        animation-duration: 16s;
        animation-delay: 1s;
    }
    
    &--three {
        animation-duration: 14.6s;
        animation-delay: 9.5s;
    }
    
    &--four {
        animation-duration: 16s;
        animation-delay: 10.25s;
    }
    
}
@keyframes fly-cycle {
    
    100% {
        background-position: -900px 0;
    }
    
}
@keyframes fly-right-one {
    
    0% {
        transform: scale(0.3) translateX(-10vw);
    }
    
    10% {
        transform: translateY(2vh) translateX(10vw) scale(0.4);
    }
    
    20% {
        transform: translateY(0vh) translateX(30vw) scale(0.5);
    }
    
    30% {
        transform: translateY(4vh) translateX(50vw) scale(0.6);
    }
    
    40% {
        transform: translateY(2vh) translateX(70vw) scale(0.6);
    }
    
    50% {
        transform: translateY(0vh) translateX(90vw) scale(0.6);
    }
    
    60% {
        transform: translateY(0vh) translateX(110vw) scale(0.6);
    }
    
    100% {
        transform: translateY(0vh) translateX(110vw) scale(0.6);
    }
    
}
@keyframes fly-right-two {
    
    0% {
        transform: translateY(-2vh) translateX(-10vw) scale(0.5);
    }
    
    10% {
        transform: translateY(0vh) translateX(10vw) scale(0.4);
    }
    
    20% {
        transform: translateY(-4vh) translateX(30vw) scale(0.6);
    }
    
    30% {
        transform: translateY(1vh) translateX(50vw) scale(0.45);
    }
    
    40% {
        transform: translateY(-2.5vh) translateX(70vw) scale(0.5);
    }
    
    50% {
        transform: translateY(0vh) translateX(90vw) scale(0.45);
    }
    
    51% {
        transform: translateY(0vh) translateX(110vw) scale(0.45);
    }
    
    100% {
        transform: translateY(0vh) translateX(110vw) scale(0.45);
    }
    
}
 

 

 

이 질문에 댓글 쓰기 :

답변 3

적용해 보니 잘 돌아가네요. (이하 CSS 변환)

 

.bird {
  background-image: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/174479/bird-cells-new.svg);
  background-size: auto 100%;
  width: 88px;
  height: 125px;
  will-change: background-position;
  animation-name: fly-cycle;
  animation-timing-function: steps(10);
  animation-iteration-count: infinite;
}
.bird--one {
  animation-duration: 1s;
  animation-delay: -0.5s;
}
.bird--two {
  animation-duration: 0.9s;
  animation-delay: -0.75s;
}
.bird--three {
  animation-duration: 1.25s;
  animation-delay: -0.25s;
}
.bird--four {
  animation-duration: 1.1s;
  animation-delay: -0.5s;
}

.bird-container {
  position: absolute;
  top: 20%;
  left: -10%;
  transform: scale(0) translateX(-10vw);
  will-change: transform;
  animation-name: fly-right-one;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.bird-container--one {
  animation-duration: 15s;
  animation-delay: 0;
}
.bird-container--two {
  animation-duration: 16s;
  animation-delay: 1s;
}
.bird-container--three {
  animation-duration: 14.6s;
  animation-delay: 9.5s;
}
.bird-container--four {
  animation-duration: 16s;
  animation-delay: 10.25s;
}

@keyframes fly-cycle {
  100% {
    background-position: -900px 0;
  }
}
@keyframes fly-right-one {
  0% {
    transform: scale(0.3) translateX(-10vw);
  }
  10% {
    transform: translateY(2vh) translateX(10vw) scale(0.4);
  }
  20% {
    transform: translateY(0vh) translateX(30vw) scale(0.5);
  }
  30% {
    transform: translateY(4vh) translateX(50vw) scale(0.6);
  }
  40% {
    transform: translateY(2vh) translateX(70vw) scale(0.6);
  }
  50% {
    transform: translateY(0vh) translateX(90vw) scale(0.6);
  }
  60% {
    transform: translateY(0vh) translateX(110vw) scale(0.6);
  }
  100% {
    transform: translateY(0vh) translateX(110vw) scale(0.6);
  }
}
@keyframes fly-right-two {
  0% {
    transform: translateY(-2vh) translateX(-10vw) scale(0.5);
  }
  10% {
    transform: translateY(0vh) translateX(10vw) scale(0.4);
  }
  20% {
    transform: translateY(-4vh) translateX(30vw) scale(0.6);
  }
  30% {
    transform: translateY(1vh) translateX(50vw) scale(0.45);
  }
  40% {
    transform: translateY(-2.5vh) translateX(70vw) scale(0.5);
  }
  50% {
    transform: translateY(0vh) translateX(90vw) scale(0.45);
  }
  51% {
    transform: translateY(0vh) translateX(110vw) scale(0.45);
  }
  100% {
    transform: translateY(0vh) translateX(110vw) scale(0.45);
  }
}
 

답변을 작성하시기 전에 로그인 해주세요.
전체 1,499
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT