Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

CSSプロパティ辞典

transition-delay

『transition』の『イベント開始からアニメーションが始まるまでの待ち時間』を指定できます。

基本的な使い方は『transition-duration』と同じですが、『transition』でまとめて指定した際に『transition-delay』の値は省略できる為、『transition-duration』の様に上書きをする必要はありません。

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

サンプルコード
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-ms-transition: 0.5s;

transition-delay: 1s;
-webkit-transition-delay: 1s;
-moz-transition-delay: 1s;
-ms-transition-delay: 1s;
ブラウザでの表示結果
div {
	background: #f00;
	width: 200px;
	transition: 0.5s;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-ms-transition: 0.5s;

	transition-delay: 1s;
	-webkit-transition-delay: 1s;
	-moz-transition-delay: 1s;
	-ms-transition-delay: 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-』が必要
3 以前 ×
Edge Edge
12 以降
全バージョンで対応しています
IE IE
11
10
9 ×
8 ×
7 ×
6 ×
Opera Opera
12.1 以降
10 以前 ×
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-delay』の値は『,』で区切る事により複数の『アニメーションが始まるまでの待ち時間』を同時に指定できます。

div {
	background: #f00;
	width: 200px;
	height: 100px;

	transition: width 1s, height 1s;
	-webkit-transition: width 1s, height 1s;
	-moz-transition: width 1s, height 1s;
	-ms-transition: width 1s, height 1s;

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

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

div {
	background: #f00;
	width: 200px;
	height: 100px;

	transition: width 1s, height 1s, background 1s;
	-webkit-transition: width 1s, height 1s, background 1s;
	-moz-transition: width 1s, height 1s, background 1s;
	-ms-transition: width 1s, height 1s, background 1s;

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

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

div {
	background: #f00;
	width: 200px;
	height: 100px;

	transition: width 1s, height 1s;
	-webkit-transition: width 1s, height 1s;
	-moz-transition: width 1s, height 1s;
	-ms-transition: width 1s, height 1s;

	transition-delay: 1s, 2s, 4s;
	-webkit-transition-delay: 1s, 2s, 4s;
	-moz-transition-delay: 1s, 2s, 4s;
	-ms-transition-delay: 1s, 2s, 4s;
}
div:hover {
	width: 300px;
	height: 200px;
}

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