【CSS】かわいい♡桜を散らすアニメーション
8919
この記事を書いている人
こんな風に桜の花びらを散らすアニメーションです。
コピーして使ってください
htmlはこちらです。
<ul class="sakura">
<li><img src="img/s1.png" alt=""></li>
<li><img src="img/s2.png" alt=""></li>
<li><img src="img/s3.png" alt=""></li>
<li><img src="img/s4.png" alt=""></li>
<li><img src="img/s1.png" alt=""></li>
<li><img src="img/s2.png" alt=""></li>
<li><img src="img/s3.png" alt=""></li>
<li><img src="img/s4.png" alt=""></li>
</ul>
今回はこんな感じでimg
にしてみました。
用意したのは桜の花びら4種類です。
この時点でもう可愛いですよね
で、これを散らしていくのですね。
.sakura {
position: relative;
padding: 0;
margin: 0;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.sakura li {
width: 18px;
position: absolute;
list-style: none;
top: -50px;
animation: fall 4s linear infinite, rotate1 2s ease-in-out infinite alternate;
}
@keyframes fall {
to {
top: 120%;
}
}
@keyframes rotate1 {
from {
transform: translateX(0px) rotate(0deg);
}
to {
transform: translateX(200px) rotate(-80deg) rotateX(180deg);
}
}
@keyframes rotate2 {
from {
transform: translateX(200px) rotate(-45deg);
}
to {
transform: translateX(0px) rotate(0deg);
}
}
.sakura li:nth-child(1) {
left: 0;
animation: fall 10s linear infinite, rotate1 3s ease-in-out infinite alternate;
}
.sakura li:nth-child(2) {
left: 5vw;
animation: fall 15s linear infinite, rotate1 2s ease-in-out infinite alternate;
}
.sakura li:nth-child(3) {
left: 15vw;
animation: fall 9s linear infinite, rotate1 3.5s ease-in-out infinite alternate;
}
.sakura li:nth-child(4) {
left: 30vw;
animation: fall 8s linear infinite, rotate2 4s ease-in-out infinite alternate;
}
.sakura li:nth-child(5) {
left: 40vw;
animation: fall 10s linear infinite, rotate1 4s ease-in-out infinite alternate;
}
.sakura li:nth-child(6) {
left: 55vw;
animation: fall 11s linear infinite, rotate2 3s ease-in-out infinite alternate;
}
.sakura li:nth-child(7) {
left: 65vw;
animation: fall 7s linear infinite, rotate2 3.5s ease-in-out infinite alternate;
}
.sakura li:nth-child(8) {
left: 50vw;
animation: fall 7s linear infinite, rotate1 3s ease-in-out infinite alternate;
}
ちょっとややこしく見えるかもしれませんが、3つのアニメーションがあります。
@keyframes fall {
to {
top: 120%;
}
}
@keyframes rotate1 {
from {
transform: translateX(0px) rotate(0deg);
}
to {
transform: translateX(200px) rotate(-80deg) rotateX(180deg);
}
}
@keyframes rotate2 {
from {
transform: translateX(200px) rotate(-45deg);
}
to {
transform: translateX(0px) rotate(0deg);
}
}
これを8枚の花びらに指定しているだけです
leftの値やanimationの秒数を調整してみてくださいね
いいなと思ったら
TAPしてね♡↓
【CSS】マウスオンでテキストがネオンのように光るアニメーション JavaScriptを利用したカウントアニメーション
コメントは承認後に表示されます。