OWNED MEDIAウェブ制作に役立つコンテンツを発信中!

CSSのtransitionでいろんなバリエーションの動きを表現してみる

最終更新日:2018.5.22 Update!!
今回はCSSのtransitionプロパティを使ったアニメーションでいろんなバリエーションを考えていきたいと思います。細かい部分になりますが、ちょっとしたこだわりで見栄えが変わってきますので是非取り入れてみることをオススメします。  
要素の時間的変化を指定するtransitionプロパティ
transitionプロパティは各要素の時間的変化を指定するプロパティになります。背景色を変えたり、配置されている位置の移動、大きさの変更など様々な変化に併用できます。時間的変化をもたせてコントロールすることでアニメーションのような滑らかな動きも表現できます。  
transitionプロパティで指定できる設定
transitionプロパティでは次の各項目をそれぞれ設定することができます。   「transition-property」:時間的変化をつける要素で対象となるプロパティを指定 background-colorやwidth、heightなど要素で時間的変化をつけるプロパティを指定できます。   「transition-duration」:変化に要する時間を指定 変化前から変化後の状態へ変化するのにかかる時間をミリ秒の数値で指定できます。   「transition-timing-function」:変化のタイミングと時間が進むスピードを指定 変化の始まりや終わりのタイミング、またそれに向かうスピードをミリ秒の数値で指定できます。   「transition-delay」:変化が始まるまでの時間を指定 変化が始まるまでどれくらい遅らせるかの時間をミリ秒で指定できます。   これらの項目はそれぞれ個別にも設定できますが、次のようにまとめてtransitionプロパティを使って指定もできます。
// transition-property・transition-duration・transition-timing-function・transition-delayの順に指定します
.sample {
   transition: all 0.5s ease-in-out 0s;
}
  この指定をそれぞれ変化させるのですが、ポイントは「transition-timing-function」の値です。この値を変えると違った印象のアニメーションになります。  
transition-timing-functionの値を調整していろんなアニメーションを表現する
このtransition-timing-functionの値ですがブラウザのデベロッパーツールで簡単に調整ができます。GoogleChromeの場合ですと指定の要素でtransitionのプロパティのところを見てみますと、transition-timing-functionの値の横にアイコンがあるのでこれをクリックすると、ベジェ曲線で調整できるエディターが開けるようになっています。   CSSのtransitionでいろんなバリエーションの動きを再現してみる   このエディター内でハンドルを操作しベジェ曲線を変更したり、もしくはプリセットで用意されている設定を選択することで変化の度合いを変えることができます。いろんな設定ができますが、代表的なものから見ていきます。   【ease】滑らかに動く この指定にすると始まりと終わりが滑らかになります。スッと動き出し、スッと止まるようなイメージでしょうか。ベジェ曲線は緩やかな山なりを描きます。 CSSのtransitionでいろんなバリエーションの動きを再現してみる     【linear】一定に動く 変化がなく、一定の速度でアニメーションが進みます。その名の通り直線的な動きでベジェ曲線も一直線になります。 CSSのtransitionでいろんなバリエーションの動きを再現してみる     【ease-in】ゆっくり動きだす ゆっくり動き出してから早くなり、ピタッと止まるようなイメージです。ベジェ曲線は中央が盛り上がった山のような曲線になります。 CSSのtransitionでいろんなバリエーションの動きを再現してみる     【ease-out】ゆっくり止まる 今度は逆に急に動き出しそのままの速さで止まるときにゆっくりになるイメージです。ベジェ曲線は中央がへこんだ谷のような曲線になります。 CSSのtransitionでいろんなバリエーションの動きを再現してみる     【ease-in-out】ゆっくり動きだしてゆっくり止まる ease-inとease-outを合わせたような感じで、ゆっくり動き出してから早くなりそのままゆっくりと止まるイメージです。ベジェ曲線は緩やかなS字を描きます。 CSSのtransitionでいろんなバリエーションの動きを再現してみる     【cubic-bezier(1,0,0,1)】動き出しと止まるのが遅くなり間がより早くなる ease-in-outを極端にしたような感じで、動き出しと止まりがより遅くなり、間はより早くなります。瞬間的に動くような印象です。ベジェ曲線はくっきりとしたS字を描きます。値を名称ではなくベジェ曲線の数値指定で設定するのですが、ブラウザのデベロッパーツールには「Exponential」という名称でプリセットされています。 CSSのtransitionでいろんなバリエーションの動きを再現してみる     【cubic-bezier(.68,-0.55,.27,1.55) 】動き出しと止まる時に弾む ease-in-outをさらに極端にすることで、動き出しと止まる時に弾むようなアクションを見せます。ベジェ曲線はメリハリのある極端なS字を描きます。こちらも数値指定で設定する形になりますが、同じくデベロッパーツールに「Backward」という名称でプリセットされています。 CSSのtransitionでいろんなバリエーションの動きを再現してみる  
  いかがでしょうか、単純な動きもこのように複雑なアニメーションを加えることでより洗練された印象を与えることができます。最初はとっつきにくく感じるかもしれませんがそんなに難しいことはありませんので是非活用してみてはいかがでしょうか。今回のサンプルはこちらに用意しています。参考にどうぞ!
  • はてなブックマーク
  • Pocket
  • Linkedin
  • Feedly

この記事を書いた人

Twitter

SPONSORED

    KEYWORD SEARCH

    RECENT POSTS

    合同会社デザインサプライ -DesignSupply. LLC-

    サイト制作・開発 / 各種デザイン制作 / ウェブプロモーション企画

    合同会社デザインサプライ(DesignSupply. LLC)

    Office:大阪府大阪市天王寺区清水谷町3-22
    Email:info@designsupply-web.com
    • Twitter
    • Github
    CONTACT USSCROLL TO TOP
      • Facebook
      • Twitter
      • Github
      • Instagram