表示位置とアニメーションの時間を設定
桜の表示位置とスタートする時間を設定してあげます( ˘ω˘)☝
.flake1 {
left: 20px;
-webkit-animation-duration: 2.5s;
animation-duration: 2.5s;
}
.flake2 {
left: 40px;
-webkit-animation-duration: 2.7s;
animation-duration: 2.7s;
-webkit-animation-delay: 0.2s;
animation-delay: 0.2s;
}
.flake3 {
left: 60px;
-webkit-animation-duration: 2.9s;
animation-duration: 2.9s;
-webkit-animation-delay: 0.4s;
animation-delay: 0.4s;
}
.flake4 {
left: 80px;
-webkit-animation-duration: 2.4s;
animation-duration: 2.4s;
-webkit-animation-delay: 0s;
animation-delay: 0s;
}
.flake5 {
left: 100px;
-webkit-animation-duration: 2.4s;
animation-duration: 2.4s;
-webkit-animation-delay: 1s;
animation-delay: 1s;
}
.flake6 {
left: 150px;
-webkit-animation-duration: 2.2s;
animation-duration: 2.2s;
-webkit-animation-delay: 1.2s;
animation-delay: 1.2s;
}
.flake7 {
left: 170px;
-webkit-animation-duration: 2.7s;
animation-duration: 2.7s;
-webkit-animation-delay: 1.2s;
animation-delay: 1.2s;
}
.flake8 {
left: 200px;
-webkit-animation-duration: 3s;
animation-duration: 3s;
-webkit-animation-delay: 1.4s;
animation-delay: 1.4s;
}
アニメーションの設定
keyframesでアニメーションを設定してあげます。
0px〜100pxの縦の動きとopacityの値を定義してあげます( ˘ω˘)☝
@-webkit-keyframes Drop {
0% {
-webkit-transform: translateY(0px);
transform: translateY(0px);
opacity: 0;
}
50% {
-webkit-transform: translateY(50px);
transform: translateY(50px);
opacity: 1;
}
100% {
-webkit-transform: translateY(100px);
transform: translateY(100px);
opacity: 0.3;
}
}
@keyframes Drop {
0% {
-webkit-transform: translateY(0px);
transform: translateY(0px);
opacity: 0;
}
50% {
-webkit-transform: translateY(50px);
transform: translateY(50px);
opacity: 1;
}
100% {
-webkit-transform: translateY(100px);
transform: translateY(100px);
opacity: 0.3;
}
}
これで完成になります!!
\\\\٩(´ʘ‿ʘ`)و ////
ちなみに
先ほどの桜を設定した部分ですが、背景色を変えて円に設定してあげると雪になります( ˘ω˘)☝
#snow .inner div {
position: absolute;
display: block;
width: 5px;
height: 5px;
border-radius: 2.5px;
background: #fff;
}
実装したものはこちらで確認いただけます( ˘ω˘)☞三☞シュッシュッ
まとめ
いかがでしたでしょうか?
はじめはJSで実装を試みたのですが、仕組みが難しかったのでCSS3で実装したところカンタンにできました。
CSS3 animationはすごく使いやすいですね。これを使って秋なら紅葉、梅雨の時期なら雨を降らすなどカスタマイズしてあげるのもいいですね( ˘ω˘)☝
ではではこのへんで。
【CSS3にまつわるエトセトラ】
※ keyframes(CSS3)とSassでイケてるアニメーションをシンプルなコードで実装する方法
※ スマホ対策に!CSS3追加セレクタと疑似クラスの書き方サンプル
※ 今すぐ試してみたくなる!CSS3やjQueryで実装できるリッチなエフェクト6選
※ JavaScriptで制御しているCSS3のtransitionを途中で中断させる方法
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。