CSS アニメーションは、多くのフロントエンド開発者が一般的に使用する手法の 1 つで、クールなボタン、スムーズなページ読み込み効果、動的なページ コンテンツなど、非常に興味深い効果を実現できます。 . などこの記事では、CSS アニメーションを使用してクールな効果を作成する方法について、いくつかの経験を共有します。見てみましょう!
アニメーションを作成する前に、いくつかの基礎知識を理解する必要があります。まず、CSS アニメーションを使用するには、CSS における「アニメーション」の概念を理解する必要があります。 CSS アニメーションはキーフレームを通じて実装されます。キーフレームは、特定の期間内の特定の状態を指し、これらの状態の間には遷移があります。たとえば、要素の最初の 1 秒目の位置を (0,0) に設定し、2 秒目の位置を (100,100) に設定すると、CSS アニメーションを通じて要素がこのパスに沿って移動します。
次に、CSS アニメーションの構文を理解する必要があります。以下は簡単な例です:
@keyframes example { 0% {transform: translateX(0);} 50% {transform: translateX(100px);} 100% { transform: translateX(0);} } .example { animation: example 1s ease-in-out infinite; }
この例では、@keyframes を通じてアニメーションの状態を指定し、.example クラスを通じてアニメーションを特定の要素に適用します。上記のコードでは、0%、50%、100% の 3 つの状態を持つ example という名前のアニメーションを定義します。 0%では要素の位置が初期位置、つまりX軸方向の変位が0になります。 50% では、要素の位置が右に 100 ピクセル移動します。 100% では、要素は元の位置に戻ります。最後に、animation 属性を使用して .example 要素にアニメーションを適用します。
これは単なる単純な例です。もちろん、animation-duration、animation-lay、animation-timing-function など、CSS アニメーションに使用できる構文やプロパティは他にもたくさんあります。実際の生産プロセスでは、ニーズに応じてこれらの属性を柔軟に使用する必要があります。
CSS アニメーションの基本知識を習得したら、クールなエフェクトの作成を開始できます。以下に、いくつかの実践的なスキルを紹介します。
2.1 ボタン アニメーションの作成
ボタン アニメーションの作成は、非常に一般的なニーズです。以下では「ボタンを振る」を例に、CSSアニメーションを使ってこの効果を実現する方法を紹介します。
@keyframes shake { 10%, 90% { transform: translate3d(-1px, 0, 0); } 20%, 80% { transform: translate3d(2px, 0, 0); } 30%, 50%, 70% { transform: translate3d(-4px, 0, 0); } 40%, 60% { transform: translate3d(4px, 0, 0); } } button { animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) infinite; }
上記のコードは、shake という名前のアニメーションを定義し、それをボタンに適用します。このアニメーションでは、transform 属性を通じてボタンの移動効果を実現し、cubic-bezier 関数を通じてアニメーションのイージング効果を調整します。このアニメーションをボタンに適用すると、期待どおりの「揺れ」効果が確認できます。
2.2 画像の出入り
この効果はスライドショーに似ています。画像が上または下から飛び込むたびに、前の画像が上または下から飛び出ます。底。 。次のコードは、この効果を実現します。
@keyframes slideIn { 0% { transform: translateY(-100%); } 100% { transform: translateY(0); } } @keyframes slideOut { 0% { transform: translateY(0); } 100% { transform: translateY(100%); } } .slide-show { position: relative; height: 300px; overflow: hidden; } .slide-show img { position: absolute; width: 100%; top: 0; bottom: 0; margin: auto; animation-duration: 1s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; } .slide-show .slide1 { animation-name: slideIn; } .slide-show .slide2 { animation-name: slideOut; } .slide-show .slide2.active { animation-name: slideIn; }
上記のコードでは、slideIn と slideOut という名前の 2 つのアニメーションを定義し、それによって画像が飛んだり飛んだりする効果を実現します。次に、コンテナ .slide-show を介して画像をラップし、各画像に異なるクラス名 (.slide1、.slide2 など) を割り当てます。画像を切り替える必要がある場合は、現在の画像のクラス名を「active」に変更し、JavaScript を使用して DOM を操作するだけです。
上記の 2 つの例は、CSS アニメーションの氷山の一角にすぎません。読者が CSS アニメーションをさらに習得し、よりクールな効果を作成できるようにしたいと考えています。
以上がプロジェクトの実践: CSS アニメーションを使用してクールな効果を作成する方法に関する経験の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。