VIDEO LESSON
CSSのtransition-durationの使い方:指定値・実例・効かない原因とブラウザー互換性の解説動画
再生時間 6:37動画を別のタブで開く ↗
動画の字幕・文字起こしを読む
再生中の字幕を濃い黒で表示し、一番上に追従します。字幕の行を選ぶと、その位置から再生できます。
- 0:00こんにちは。
- 0:00シーエスエス、リファレンス解説です。
- 0:03今回のテーマは、トランジション・デュレーションです。
- 0:07前回は、変化の進み方、タイミング・ファンクションを取り上げました。
- 0:12今回はその隣の担当、変化にかける時間そのものを決めるプロパティです。
- 0:17同じボタンが少し上へ動く変化でも、六百ミリ秒かけてゆっくり終わるのか、百五十ミリ秒で素早く終わるのかで、
- 0:22操作したときの感触は大きく変わります。
- 0:28その時間を決める指定を、順番に見ていきましょう。
- 0:31位置づけを確認します。
- 0:33トランジションには、対象を決めるプロパティ、変化にかける時間を決めるデュレーション、
- 0:39進み方を決めるタイミング・ファンクション、始まるまでの待ち時間を決めるディレイの四つがありました。
- 0:46今回のデュレーションは、そのうち「時間」の担当です。
- 0:50一括指定の書き方では、最初に書いた時間がデュレーション、二番目に書いた時間がディレイになる決まりでしたね。
- 0:57進み方だけを変えたいときはタイミング・ファンクション、時間だけを変えたいときは、
- 1:02このデュレーションを書き換えるのが確実です。
- 1:06書き方を見てみましょう。
- 1:08セレクターで要素を選び、トランジション・デュレーションに、時間を指定するだけです。
- 1:15仕様上の初期値はゼロ秒、つまり何も書かなければ時間はゼロで、変化はアニメーションにならず、
- 1:19その場でパッと切り替わります。
- 1:24裏を返せば、滑らかな変化が見えているなら、どこかで時間が指定されているということです。
- 1:30また、このプロパティは継承しません。
- 1:33親に書いても子には効かないので、変化させたい要素自身に指定してください。
- 1:39この後の例では、まず六百ミリ秒を指定するところから始めます。
- 1:43時間の書き方を確認します。
- 1:45単位は二つ、秒を表すエスと、ミリ秒を表すエムエスです。
- 1:50一秒は千ミリ秒なので、ゼロ点六秒と六百ミリ秒は、まったく同じ長さを表します。
- 1:56短い時間は、百五十ミリ秒のようにミリ秒で書くほうが読みやすく、間違えにくいでしょう。
- 2:03ここで大事な注意が一つあります。
- 2:05時間はゼロ以上でなければならない決まりで、マイナスの値を書くと、宣言そのものが無効になります。
- 2:13単位を付け忘れた、ただの数字も無効です。
- 2:16時間を指定するときは、数字と単位が一セットだと思ってください。
- 2:21対象が複数のときの指定です。
- 2:23トランジションの対象が、背景色と位置の二つある場合、時間もカンマで区切って二つ書けます。
- 2:31一つ目の時間が一つ目の対象、二つ目の時間が二つ目の対象、というように、並び順で対応します。
- 2:38たとえば、背景色は六百ミリ秒かけてゆっくり、位置は百五十ミリ秒で素早く、
- 2:44といった具合に、対象ごとに時間を分けることができます。
- 2:49逆に、時間を一つだけ書いた場合は、すべての対象に、その同じ時間が使われます。
- 2:55進み方や待ち時間でも同じ考え方が使えるので、この対応の仕組みはまとめて押さえておきましょう。
- 3:03記事の活用例を見てみましょう。
- 3:06薄い緑色のボタンが用意され、背景色と位置の変化に、四百ミリ秒のトランジションが指定されています。
- 3:14ホバー、またはキーボードのフォーカスが当たると、背景がオレンジ寄りの色になり、
- 3:18ボタンが少し上へ移動します。
- 3:23注目は最後の行、トランジション・デュレーション、六百ミリ秒です。
- 3:28上の行で四百ミリ秒と書かれていた所要時間が、この行で六百ミリ秒に上書きされ、
- 3:34背景色も位置も、ゆっくり変化するようになります。
- 3:39どの行が最終的な時間を決めているのか、意識しながら読んでみてください。
- 3:45違いを確かめるには、最後の行の値だけを、百五十ミリ秒に置き換えます。
- 3:50変えるのは時間だけです。
- 3:51変化の対象も、移動する距離も、進み方も、すべて同じにそろえます。
- 3:56六百ミリ秒では、ホバーすると色と位置が、ゆっくりと時間をかけて変わっていく様子が見えました。
- 4:02百五十ミリ秒では、同じ変化がパッと素早く終わり、キビキビした印象になります。
- 4:08記事の比較も、この一か所だけを変える方法で行われています。
- 4:12複数の指定を一度に変えないことが、違いを正しく確かめるコツです。
- 4:16では、時間はどのくらいがよいのでしょうか。
- 4:20記事が挙げる注意点は、長すぎると操作への反応が遅く感じられることです。
- 4:25ボタンを押したのに、動きが終わるまで待たされるような感覚は、ストレスにつながります。
- 4:32決め方の目安は、変化の移動距離と、その要素の役割に合わせることです。
- 4:38ボタンやメニューのような、操作を助けるための補助的な動きは、短めの時間に収めるのが定石です。
- 4:45逆に、あえてゆっくり見せたい演出の場面では、長めの時間も選べます。
- 4:51まず短い値から試して、操作の邪魔にならない範囲で調整していきましょう。
- 4:57配慮の指定も確認します。
- 4:59記事の例には、端末で「動きを減らす」設定が有効なとき、トランジション自体を止めるメディアクエリが含まれています。
- 5:08動きに敏感な人にとっては、たとえゆっくりした変化であっても、負担になる場合があるためです。
- 5:15時間を調整できるからこそ、止めるという選択肢も、セットで用意しておきましょう。
- 5:21あわせて、トランジションはホバーだけで試して終わりにせず、キーボードのフォーカスが当たったときにも、
- 5:27同じ変化が起きるかを確認することが大切です。
- 5:33効かないときの確認です。
- 5:35まず前提として、トランジションの対象があり、ホバーなどで実際に値が変化しているかを見てください。
- 5:42時間が正しく指定されていても、変化自体がなければ、何も起きません。
- 5:47次に、時間の書き方です。
- 5:49単位を落としたり、マイナスを書いたりすると、宣言が無効として、丸ごと無視されます。
- 5:55開発者ツールでは、スタイルズで宣言が打ち消されていないか、コンピューテッドで最終的なデュレーションの値を確認する順番が有効です。
- 6:05スタイルシート自体が読み込まれているかの確認も、忘れずにどうぞ。
- 6:10ブラウザー互換性は良好です。
- 6:11プロパティ自体は、クローム、エッジ、ファイアフォックス、サファリのいずれも、
- 6:15かなり前のバージョンから接頭辞なしで使えます。
- 6:18まとめると、トランジション・デュレーションは、変化が始まってから終わるまでの時間、
- 6:22そのものを決める指定です。
- 6:25初期値はゼロ秒、継承はしません。
- 6:27練習として、六百ミリ秒と百五十ミリ秒の違いを、自分の言葉で説明してみてください。
- 6:32次回は、変化の対象を決める、トランジション・プロパティを取り上げます。
- 6:36お疲れさまでした。
この動画で学べること
transition-durationの役割と主な指定値を解説。同じ変化がゆっくり完了するか素早く完了するかを比べます。初期値・継承・ブラウザー互換性、効かないときの確認方法も整理します。
解説記事・サンプルコードを読む:CSSのtransition-durationの使い方:指定値・実例・効かない原因とブラウザー互換性 →