CSSアニメーション「CSS Transition」
CSSアニメーションには
CSS TransitionとCSS Animationの2つの実装方法があります。
2つの違いについてはこちらの記事で紹介しています。
今回は CSS Transition についておさらいしていきたいと思います。
CSS Transition(CSS トランジション)とは?
要素に時間的変化を指定できるプロパティです。
単純な動きのアニメーションを実装する時に利用します。
■まずは簡単なDEMO!
下のAとBにマウスを当ててみてください。
Transitionを適用していないAは瞬時に透過するのに対し、
Transitionを適用しているBはゆっくりと透過します。
CSS Transitionの使い方
前項のDEMOを元に、簡単にTransitionの使い方について説明します。
まずは変化前と変化後を指定します。
1 2 3 4 5 6 7 8 |
div{ background-color: #00B2E6; opacity: 1; } div:hover{ opacity: 0.6; } |
まだこの状態ではアニメーションにはなりません。
DEMOのAの状態です。
ここにtransitionプロパティ(4、5行目)を加えます。
細かい記述の意味は次項で説明します。
1 2 3 4 5 6 7 8 9 10 |
div{ background-color: #00B2E6; opacity: 1; -webkit-transition: opacity 0.6s; transition: opacity 0.6s; } div:hover{ opacity: 0.6; } |
これでBの動きになります。
CSS Transitionプロパティ
transitionは以下のように指定します。
transition: transition-property transition-duration transition-timing-function transition-delay ;
記述の順序については、「transition-duration」を「transition-delay」より、必ず先に記述するようにだけ注意しましょう。
transition-property | transitionを適用するCSSのプロパティを指定します
|
---|---|
transition-duration | アニメーションに掛かる時間を指定します(初期値は0) 単位は秒(s)またはミリ秒(ms)です。 初期値は0sでアニメーションしません。 1sとすると、1秒かけて変化し、0.5sとすると0.5秒かけて変化します。 |
transition-timing-function | アニメーションのパターンを指定します
|
transition-delay | アニメーションがはじまるまでの遅延時間を設定します 単位は秒(s)またはミリ秒(ms)です。 初期値は0sで、すぐにアニメーションが始まります。 3sとすると、3秒後にアニメーションが始まります。 |
■個別に記述も可能
以下のように個別に記述することもできます。
1 2 3 4 5 6 7 8 9 10 |
div{ -webkit-transition-property: all; transition-property: all; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease; transition-timing-function: ease; -webkit-transition-delay: 0.5s; transition-delay: 0.5s; } |
対応ブラウザ
IEは10以上、
Chrome、Safari、FireFox、Operaでも古いバージョンの場合は、ベンダープレフィックスを指定しないと正常に動作しない場合があります。
次回は、「CSS Animetion」について触れてみたいと思います!