CSS3のanimation(アニメーション)で春うららかな桜を降らせてみた

CSS3のanimation(アニメーション)で春うららかな桜を降らせてみた

はやち

はやち

表示位置とアニメーションの時間を設定

桜の表示位置とスタートする時間を設定してあげます( ˘ω˘)☝

.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;
}

実装したものはこちらで確認いただけます( ˘ω˘)☞三☞シュッシュッ

DEMO

まとめ

いかがでしたでしょうか?
はじめはJSで実装を試みたのですが、仕組みが難しかったのでCSS3で実装したところカンタンにできました。
CSS3 animationはすごく使いやすいですね。これを使って秋なら紅葉、梅雨の時期なら雨を降らすなどカスタマイズしてあげるのもいいですね( ˘ω˘)☝

ではではこのへんで。

 

【CSS3にまつわるエトセトラ】

keyframes(CSS3)とSassでイケてるアニメーションをシンプルなコードで実装する方法

スマホ対策に!CSS3追加セレクタと疑似クラスの書き方サンプル

今すぐ試してみたくなる!CSS3やjQueryで実装できるリッチなエフェクト6選

JavaScriptで制御しているCSS3のtransitionを途中で中断させる方法

LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。

Webサイト制作の実績・料金を見る

この記事のシェア数

はやち
はやち フロントエンドエンジニア / 林 佳代子

フロントエンドエンジニアのはやちです( ˘ω˘)☝ 以前までは顔隠しておりましたが思い切ることにしました…。 相変わらず顔文字乱舞ですがブログもコーディングも楽しくやっていこうと思います✌(´ʘ‿ʘ`)✌ 今までに作ったDemoたちはGithubにて公開しております!よろしければ是非( ˘ω˘)☞三☞シュッシュッ

このメンバーの記事をもっと読む
デザイン力×グローバルな開発体制でDXをトータル支援
お問い合わせ 会社概要DL