transitionの使い方を調べてみたのでメモ。
対応ブラウザ
transitionが対応しているブラウザはこちら。
IE10からの対応で、Androidブラウザも考慮する場合はベンダープレフィックスが必要になります。
サンプルコード
実装する場合、transition-property・transition-duration・transition-timing-function・transition-delayを指定します。
HTML
1 | < div id = "sample" ></ div > |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #sample { width : 200px ; height : 200px ; background : #E74C3C ; -webkit- transition-property : width; transition-property : width; -webkit-transition-duration: 1 s; transition-duration: 1 s; -webkit- transition-timing-function : linear ; transition-timing-function : linear ; -webkit- transition-delay : 0 s; transition-delay : 0 s; } #sample:hover { width : 600px ; } |
transition-property | アニメーションするプロパティを指定。 |
---|---|
transition-duration | アニメーションする時間を指定。 単位はs。 |
transition-timing-function | アニメーションのイージングを指定。 ease/linear/ease-in/ease-out/ease-in-out/cubic-bezierからどれかを指定。 |
transition-delay | アニメーションの開始を遅らせる場合に指定。 単位はs。 |
上記はまとめて指定することもできます。
HTML
1 | < div id = "sample2" ></ div > |
CSS
1 2 3 4 5 6 7 8 9 10 | #sample 2 { width : 200px ; height : 200px ; background : #E74C3C ; -webkit- transition : width 1 s linear 0 s; transition : width 1 s linear 0 s; } #sample 2: hover { width : 600px ; } |
複数指定する場合
複数指定する場合、「,」で区切って指定します。
HTML
1 | < div id = "sample3" ></ div > |
CSS
1 2 3 4 5 6 7 8 9 10 11 | #sample 3 { width : 200px ; height : 200px ; background : #E74C3C ; -webkit- transition : width 1.5 s ease-in-out 0 s, background 1 s ease-in-out 0.5 s; transition : width 1.5 s ease-in-out 0 s, background 1 s ease-in-out 0.5 s; } #sample 3: hover { width : 600px ; background : #3498DB ; } |
【参考サイト】
- CSS3 アニメーション(Transitions)の使用方法 | CSS Lecture
- transition-timing-function-CSS3リファレンス
- CSS transition の使用 – Web developer guide | MDN
コメントが承認されるまで時間がかかります。