【CSS】「transition-delay」プロパティについて解説!【分かりやすい】

※この記事にはプロモーションが含まれています。
しゅーた(@chibasyuta)です!
この記事ではCSSの「transition-delay」プロパティの使い方について解説します!丁寧にまとめていくので、興味がある方はぜひご一読ください。
「transition-delay」を使うとアニメーションをつける際の細かい微調整ができます。
この記事の内容!
- 「transition-delay」を使うと何ができるのか?
- 「transition-delay」の使い方!
それでは内容へ入ります!
「transition-delay」を使うと何ができるのか?
<div class="box"></div>
.box {
width: 300px;
height: 300px;
background-color: skyblue;
transition-duration: 5s;
transition-delay: 1s;
}
.box:hover {
width: 400px;
height: 400px;
}
「transition-delay」プロパティを使うと「トランジション効果」が始まるまでの「待ち時間」の指定をすることができます。
「待ち時間」は「遷移時間」には含まれないので注意してください。
そして「transition-delay」に「1秒」と指定すると、まず待ち時間が発生し、その後に遷移が開始されるので、実際のアニメーションは、
「1秒(待ち時間)」→「3秒(遷移時間)」
となります。
「transition-delay」の使い方!
「transition-delay」に指定できる値は?
「transition-delay」には、普通に「待ち時間」の指定をしてあげればOKです!
- 1.5s
- 2000ms
- .3s
などのように、時間を表す単位を使って指定してあげればOKです!
マイナスの値を指定すると??
<div class="box"></div>
.box {
width: 300px;
height: 300px;
background-color: skyblue;
transition-duration: 2s;
transition-delay: -1s;
}
.box:hover {
width: 400px;
height: 400px;
}
マイナスの値を使うと、途中までトランジションが進んだ状態からスタートします。
「遅らせる」の反対なので、「進む」という感じですね。
例えば、「transition-duration」の値が「2s」で遷移時間が「2秒」の場合に、「transition-delay」に「-1s」とすると、トランジションは「1秒経過した状態」からスタートするので、実際の遷移時間が「1秒」になります。
作って学ぶ HTML&CSSモダンコーディング
Flexbox や CSS Grid など、今のCSSの書き方をサンプルサイトを作りながら学べる本です。
Amazonのアソシエイトとして、当ブログは適格販売により収入を得ています。
複数の「CSSのプロパティ」に対して別々に「transition-delay」の設定をする方法!
<div class="box"></div>
.box {
width: 300px;
height: 300px;
background-color: skyblue;
transition-property: width, height, background-color;
transition-duration: 1s;
transition-delay: 0s, 1s, 2s;
}
.box:hover {
width: 400px;
height: 400px;
background-color: pink;
}
複数の「CSSのプロパティ」に対して別々に「transition-delay」の設定をするには、「transition-delay」に「,」カンマ区切りで複数の値を書いてあげればOKです!
「transition-property」に指定してある順番に対応したプロパティに対して、ピンポイントで「transition-delay」の指定ができます。
そして、「transition-delay」に書いた2つ目の値の「1s」は、「transition-property」の2つ目の値の「height」に対応します。
さらに、「transition-delay」に書いた3つ目の値の「2s」は、「transition-property」の2つ目の値の「background-color」に対応する、という感じで別々に指定することができるのです。
「transition-property」の解説は下記の記事でしているので、もし気になる方はこちらをどうぞ!
【CSS】「transition-property」プロパティについて解説!【分かりやすい】
参考リンク!
仕様書。
https://drafts.csswg.org/css-transitions/#transition-delay-property
MDN。
https://developer.mozilla.org/ja/docs/Web/CSS/transition-delay
おすすめの再生リスト!
まとめ!
「transition-delay」プロパティを使うと「トランジション効果」が始まるまでの「待ち時間」の指定をすることができる。
※「待ち時間」は「遷移時間」には含まれないので注意!
「transition-delay」には、普通に「待ち時間」の指定をしてあげればOK!
- 1.5s
- 2000ms
- .3s
マイナスの値を使うと、途中までトランジションが進んだ状態からスタートする。
複数の「CSSのプロパティ」に対して別々に「transition-delay」の設定をするには、「transition-delay」に「,」カンマ区切りで複数の値を書いてあげればOK!
この記事が気に入った方は僕のTwitter(@chibasyuta)のチェックもお願いします!
それではこんな感じでこの記事を終わります!
ではまた!
動くWebデザインアイディア帳
CSSやJavaScriptで付ける「動き」の実例を、コード付きでたくさん見たい方向けの本です。
Amazonのアソシエイトとして、当ブログは適格販売により収入を得ています。
\ めちゃくちゃ便利です /
毎日の新着を、通知で受け取る
最新の技術の動きを1分で読める記事にして、毎日お届けします。登録は無料で、いつでもやめられます。
iPhone は「ホーム画面に追加」すると通知を受け取れます
iPhone では、Safari で開いたままだと通知を出せない決まりになっています。このブログをホーム画面に置くと、アプリのように通知が届くようになります。下の5つを順番に行ってください。1分ほどで終わり、料金はかかりません。
-
共有ボタンを押す
いま見ているこのページのまま、画面のいちばん下を見てください。真ん中にある四角から上向きの矢印が出ているマークが共有ボタンです。これを1回タップします。
下のバーが見えないときは、画面を指で少し下に動かすと出てきます。
-
「ホーム画面に追加」を選ぶ
画面の下からメニューが出てきます。メニューを指で上に動かして下のほうを表示し、「ホーム画面に追加」(+のマーク)を探してタップします。
見当たらないときは、メニューの中の「その他」や「…」を押すと出てきます。
-
右上の「追加」を押す
「ホーム画面に追加」という画面に変わります。名前は「皇帝ペンギン」のままで大丈夫です。右上の「追加」をタップします。
-
ホーム画面のアイコンから開く
Safari を閉じてホーム画面に戻ると、ペンギンの絵の「皇帝ペンギン」というアイコンが増えています。これをタップして開きます。
ここが大事です。Safari からではなく、必ずこのアイコンから開いてください。
-
「通知をオンにする」→「許可」
開くと、画面の下に「通知をオンにする」という黄色いボタンが出ます。タップすると確認が出るので、「許可」を選びます。「通知をオンにしました」と出たら完了です。
次の日から、新しい記事が出るたびに通知が届きます。やめたいときは、記事の下の「この端末の通知をやめる」を押すか、アイコンを削除してください。
LINE や X のアプリ内で開いている場合は、先に右下や右上のメニューから「Safari で開く」を選んでください。
動画でじっくり学びたい方は YouTube メンバーシップ へ。