言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

CSS辞典

  1. トップページ
  2. CSS辞典
  3. transition-duration

transition-duration

『transition』の『アニメーションにかける時間』を指定できます。

『transition』でまとめて指定するときの『アニメーションにかける時間』は省略できないので、このプロパティを指定する時は、他のプロパティを個別に指定するか、一度『transition』で『アニメーションにかける時間』を指定してその後に『transition-duration』で上書きする必要があります。

ブラウザのバージョンによっては、ベンダープレフィックス『webkit』、『moz』、『ms』等を付けないと動かない場合があるので、使用する際はベンダープレフィックスを付けるようにした方が無難です。またPCのスペックによっては動きがカクついてしまう場合がありますのでご注意下さい。

サンプルコード

/* アニメーションにかける時間を『transition-duration』で上書きして1sにしています。 */
transition: 0.1s;
-webkit-transition: 0.1s;
-moz-transition: 0.1s;
-ms-transition: 0.1s;

transition-duration: 1s;
-webkit-transition-duration: 1s;
-moz-transition-duration: 1s;
-ms-transition-duration: 1s;

ブラウザでの表示結果

div {
	background: #f00;
	width: 200px;
	/* アニメーションにかける時間を『transition-duration』で上書きして1sにしています。 */
	transition: 0.1s;
	-webkit-transition: 0.1s;
	-moz-transition: 0.1s;
	-ms-transition: 0.1s;

	transition-duration: 1s;
	-webkit-transition-duration: 1s;
	-moz-transition-duration: 1s;
	-ms-transition-duration: 1s;
}
div:hover {
	width: 300px;
}

対応ブラウザ

Chrome Chrome
26 以降
25
24
23
22
21
20
19
18
↑ prefix『-webkit-』が必要
Firefox Firefox
16 以降
15
14
13
12
11
10
9
8
↑ prefix『-moz-』が必要
3 以前 ×
Safari Safari
9 以降
8
7
6
5
4
↑ prefix『-webkit-』が必要
2 以前 ×
Edge Edge
12 以降
全バージョンで対応しています
IE IE
11
10
9 ×
8 ×
7 ×
6 ×
Opera Opera
12.1 以降
11
10
↑ prefix『-o-』が必要
9 以前 ×
iOS Safari iOS Safari
9 以降
8
7
6
5
4
3
2
↑ prefix『-webkit-』が必要
1 以前 ×
Android Android Browser
4.4 以降
2
↑ prefix『-webkit-』が必要
Chrome Android Chrome Android
最新版
デスクトップ版と同等の対応です
Firefox Android Firefox Android
最新版
デスクトップ版と同等の対応です

※ バージョン情報は MDN / Can I Use に基づいています。

概要

『transition』の『アニメーションにかける時間』を指定できます。

『transition-duration』の値は『,』で区切る事により複数の『アニメーションにかける時間』を同時に指定できます。

div {
	background: #f00;
	width: 200px;
	height: 100px;
	transition-property:width, height;
	transition-duration: 1s, 2s;
	-webkit-transition-property:width, height;
	-webkit-transition-duration: 1s, 2s;
	-moz-transition-property:width, height;
	-moz-transition-duration: 1s, 2s;
	-ms-transition-property:width, height;
	-ms-transition-duration: 1s, 2s;
}
div:hover {
	width: 300px;
	height: 200px;
	background: #ff0;
}

指定されているプロパティの数より『transition-duration』の値が少ない場合は指定した値が繰り返されているものとして適用されます。

div {
	background: #f00;
	width: 200px;
	height: 100px;
	transition-property: width, height, background;
	transition-duration: 1s, 2s;
	-webkit-transition-property:w idth, height, background;
	-webkit-transition-duration: 1s, 2s;
	-moz-transition-property: width, height, background;
	-moz-transition-duration: 1s, 2s;
	-ms-transition-property: width, height, background;
	-ms-transition-duration: 1s, 2s;
}
div:hover {
	width: 300px;
	height: 200px;
	background: #ff0;
}

『transition-duration』で指定した値の方が多い場合は指定されているプロパティ数以上の値は無視されます。

div {
	background: #f00;
	width: 200px;
	height: 100px;
	transition-property: width, height, background;
	transition-duration: 1s, 2s, 1s, 3s;
	-webkit-transition-property: width, height, background;
	-webkit-transition-duration: 1s, 2s, 1s, 3s;
	-moz-transition-property: width, height, background;
	-moz-transition-duration: 1s, 2s, 1s, 3s;
	-ms-transition-property: width, height, background;
	-ms-transition-duration: 1s, 2s, 1s, 3s;
}
div:hover {
	width: 300px;
	height: 200px;
	background: #ff0;
}

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。