css 애니메이션 채택완료

이 사진을 이용해서 날아다니는 새 애니메이션을 홈페이지 배경에 적용하고 싶은데 css 코드가 안 먹히는것 같아요 ㅠ 도움 부탁드립니다
html 소스
</p>
<p> <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 소스
</p>
<p>.bird {
background-image: url(<a href="https://s3-us-west-2.amazonaws.com/s.cdpn.io/174479/bird-cells-new.svg);" target="_blank" rel="noopener noreferrer">https://s3-us-west-2.amazonaws.com/s.cdpn.io/174479/bird-cells-new.svg);</a>
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;</p>
<p> &--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;
}</p>
<p>}</p>
<p>.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;
}
}</p>
<p>@keyframes fly-cycle {
100% {
background-position: -900px 0;
}
}</p>
<p>@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);
}
}</p>
<p>@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);
}
}</p>
<p>
답변 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개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인