CSS3 アニメーションは Web デザインに豊かなダイナミック効果をもたらし、ページをより鮮やかで魅力的なものにします。ただし、アニメーションが終了したときに、初期状態に戻るのではなく、最終状態を維持したい場合があります。この記事では、この効果を実現し、アクションの終了時にアニメーションがこの状態を確実に維持するためのいくつかの方法を紹介します。
方法 1: animation-fill-mode
属性を使用する
animation-fill-mode
プロパティは、再生前後のアニメーションのスタイルを制御するために使用されます。このプロパティを設定すると、アニメーション終了時に最終状態を維持する効果が得られます。
none
: デフォルト値。アニメーションは再生の前後にスタイルを適用しません。 forwards
: アニメーション終了後も最終状態を保持します。 backwards
: アニメーションは再生前に初期状態を適用します。 both
: forwards
とbackwards
組み合わせると、アニメーションは再生前に初期状態を適用し、再生後に最終状態を維持します。。要素 { アニメーション: myAnimation 2s イーズインアウト; アニメーションフィルモード: 順方向; } @keyframes myAnimation { 0% { 変換:translateX(0); } 100% { 変換:translateX(100px); } }
この例では、 .element
要素は、アニメーションが終了した後も、 transform: translateX(100px)
状態のままになります。
方法 2: animationend
イベントを使用する
JavaScript を通じてanimationend
イベントをリッスンすることで、アニメーション終了時に要素のスタイルを手動で設定し、アニメーションの終了状態を維持できます。
例
<div class="element"></div>
。要素 { 幅: 100ピクセル; 高さ: 100ピクセル; 背景色: 赤; アニメーション: myAnimation 2s イーズインアウト; } @keyframes myAnimation { 0% { 変換:translateX(0); } 100% { 変換:translateX(100px); } }
const 要素 = document.querySelector('.element'); element.addEventListener('アニメーション終了', () => { element.style.transform = 'translateX(100px)'; });
この例では、アニメーションが終了すると、JavaScript コードによって要素のtransform
プロパティがtranslateX(100px)
に設定され、アニメーションの終了状態が維持されます。
方法 3: transition
属性を使用する
transition
プロパティは主にトランジション効果に使用されますが、これを上手に利用することでアニメーション終了時に最終状態を維持する効果も得ることができます。
例
<div class="element"></div>
。要素 { 幅: 100ピクセル; 高さ: 100ピクセル; 背景色: 赤; トランジション: トランスフォーム 2 のイーズインアウト; } .element.animate { 変換:translateX(100px); }
const 要素 = document.querySelector('.element'); element.classList.add('アニメーション');
この例では、 animate
クラスを追加することにより、要素のtransform
プロパティは初期状態からtranslateX(100px)
に遷移し、遷移終了後もその状態を維持します。
CSS3 アニメーションの終了状態を変更しないようにするには、 animation-fill-mode
プロパティの使用、 animationend
イベントのリッスン、 transition
プロパティの使用など、さまざまな方法があります。各方法には適用可能なシナリオがあり、開発者は特定のニーズに応じて適切な方法を選択できます。
animation-fill-mode
属性: アニメーションの終了状態を維持するためにforwards
値を設定することにより、純粋な CSS アニメーションに適しています。 animationend
イベント: JavaScript インタラクションを必要とするシーンに適しており、イベントをリッスンしてスタイルを手動で設定します。 transition
属性: アニメーションの終了状態を維持するクラスを追加することで、トランジション効果に適しています。この記事が、実際の開発で CSS3 アニメーションをより適切に適用し、必要な動的効果を実現するための明確な理解と実践的なガイダンスを提供できれば幸いです。
CSS3 アニメーションの終了状態を変更しないようにする方法に関するこの記事はこれで終わりです。CSS3 アニメーションの終了状態を変更しないようにする方法の詳細については、downcodes.com で以前の記事を検索するか、引き続き以下の関連記事を参照してください。今後は downcodes.com をサポートしてください。