CSSのtransition-delayプロパティで遷移効果に遅延を設定する方法
CSSでトランジション(遷移効果)の開始を遅らせたい場合は、transition-delay プロパティを使用します。このプロパティに秒数(s)やミリ秒(ms)を指定することで、変化が始まるまでの待ち時間を自由にコントロールできます。
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>
コードの解説
この例では、div要素に対して transition: width 3s; を指定し、幅の変更が3秒かけて滑らかに行われるように設定しています。さらに transition-delay: 1s; を追加することで、ホバーしてから実際にアニメーションが始まるまで1秒間の待機時間が発生します。
主なポイント
- transition-delay:遷移効果が始まるまでの待ち時間を指定します。単位は秒(s)またはミリ秒(ms)です。
- transition ショートハンドを使えば、
transition: width 3s 1s;のように、所要時間と遅延時間をまとめて指定することも可能です。 - 負の値を指定すると、アニメーションが途中から開始されるという特殊な挙動も実現できます。
transition-delayを活用することで、ユーザーの操作に対して意図的なタイムラグを持たせた、より洗練されたインタラクション表現が可能になります。
-
CSSだけで作る視差スクロール(パララックス)効果の実装方法
CSSだけで視差スクロール(パララックス)効果を実現するには、background-attachment: fixed; を使用します。このプロパティを指定すると、背景画像がブラウザの表示ブラウザの表示領域(ビューポート)に固定され、ページをスクロールしても背景だけが動かなくなります。その結果、前景のコンテンツと背景との間に速度の違いが生まれ、奥行きのある視差効果を演出できます。 コード例 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=
-
CSSでホバー時にトランジション(アニメーション)を追加する方法を解説
CSSでホバー時にトランジション(滑らかなアニメーション効果)を追加するには、transitionプロパティと:hover疑似クラスを組み合わせて使用します。あらかじめ要素にtransitionを設定しておくことで、ホバー時の変化が瞬時に切り替わるのではなく、指定した時間をかけてスムーズに変化するようになります。 サンプルコード <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1&q