transitionの使い方を調べてみたのでメモ。
対応ブラウザ
transitionが対応しているブラウザはこちら。
IE10からの対応で、Androidブラウザも考慮する場合はベンダープレフィックスが必要になります。
サンプルコード
実装する場合、transition-property・transition-duration・transition-timing-function・transition-delayを指定します。
HTML
<div id="sample"></div>
CSS
#sample {
width: 200px;
height: 200px;
background: #E74C3C;
-webkit-transition-property: width;
transition-property: width;
-webkit-transition-duration: 1s;
transition-duration: 1s;
-webkit-transition-timing-function: linear;
transition-timing-function: linear;
-webkit-transition-delay: 0s;
transition-delay: 0s;
}
#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
<div id="sample2"></div>
CSS
#sample2 {
width: 200px;
height: 200px;
background: #E74C3C;
-webkit-transition: width 1s linear 0s;
transition: width 1s linear 0s;
}
#sample2:hover {
width: 600px;
}
複数指定する場合
複数指定する場合、「,」で区切って指定します。
HTML
<div id="sample3"></div>
CSS
#sample3 {
width: 200px;
height: 200px;
background: #E74C3C;
-webkit-transition: width 1.5s ease-in-out 0s, background 1s ease-in-out 0.5s;
transition: width 1.5s ease-in-out 0s, background 1s ease-in-out 0.5s;
}
#sample3:hover {
width: 600px;
background: #3498DB;
}
【参考サイト】
- CSS3 アニメーション(Transitions)の使用方法 | CSS Lecture
- transition-timing-function-CSS3リファレンス
- CSS transition の使用 – Web developer guide | MDN

コメントが承認されるまで時間がかかります。