CSSのtransition-delayプロパティの使い方:トランジション効果に遅延を設定する方法
CSSのtransition-delayプロパティとは
CSSのtransition-delayプロパティを使用すると、トランジション(transition)効果の開始を指定した時間だけ遅らせることができます。要素に変化が発生しても、設定した待機時間が経過するまでアニメーションは実行されません。
このプロパティは、ユーザーインターフェースにリズム感を持たせたり、複数のアニメーションを順番に実行させたりする場合に非常に便利です。
transition-delayの基本的な使い方
以下のコード例では、ボックスにマウスカーソルを乗せると幅が変化しますが、トランジション開始まで1秒間の遅延が発生するように設定しています。
サンプルコード
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 150px;
height: 150px;
background: blue;
transition: width 3s;
transition-delay: 1s;
}
div:hover {
width: 250px;
}
</style>
</head>
<body>
<h1>見出し</h1>
<p>下のボックスにマウスカーソルを乗せると幅が変わります。1秒の遅延後にアニメーションが始まります。</p>
<div></div>
</body>
</html>
コードの解説
上記の例では、以下のようにスタイルを設定しています。
width: 150px; height: 150px;— 青い正方形のボックスを定義transition: width 3s;— 幅の変更に対して3秒かけてスムーズに変化させるtransition-delay: 1s;— トランジションの開始を1秒間遅らせるdiv:hover { width: 250px; }— ホバー時に幅を250pxへ変更
マウスカーソルをボックスに乗せると、まず1秒間待機した後、幅が3秒かけて150pxから250pxへと滑らかに拡大します。
補足ポイント
transition-delayの値には秒(s)またはミリ秒(ms)を指定できます。例:0.5s、500ms- 負の値(例:
-1s)を指定すると、アニメーションの途中から再生されます transitionショートハンドプロパティを使えば、transition: width 3s 1s;のように遅延時間をまとめて記述することも可能です
-
CSSのperspectiveプロパティの使い方を解説!3D要素の奥行き表現
CSSの perspective プロパティは、3D変形された要素をどのような視点・奥行き感で表示するかを指定するためのプロパティです。値には距離(pxなど)を設定し、数値が小さいほど視点に近づくため、遠近感が強調され、大きいほどフラットな見た目になります。通常は、3D変形を適用する子要素の親要素に perspective を設定します。これにより、子要素の transform による回転や移動に自然な立体感が生まれます。以下のコードでは、親要素に perspective: 80px; を指定し、子要素をX軸方向に45度回転させて、遠近効果を確認できます。サンプルコード<!DOCTYPE
-
CSSのwidthプロパティをアニメーション化する方法
CSSで要素の width(幅)プロパティをアニメーションさせるには、@keyframes ルールと animation プロパティを組み合わせて使用します。幅の変化を滑らかに表現することで、開閉パネルやホバーエフェクトなど、さまざまなインタラクティブな演出が可能になります。実装のポイント@keyframes 内で、アニメーションの途中経過(例:30%)における幅の値を指定します。animation プロパティで、キーフレーム名・再生時間などを設定します。幅は数値(px など)で指定するため、ブラウザは値の補間を行い滑らかなアニメーションを実現します。サンプルコード以下のコードでは、div要素