ホームページ > 記事 > ウェブフロントエンド > CSS トランジションとアニメーション
この講義では、CSS トランジションとアニメーションを使用して Web ページに命を吹き込む方法を学びます。これらのテクニックを使用すると、JavaScript を必要とせずに、ユーザー エクスペリエンスを向上させるスムーズで魅力的なエフェクトを作成できます。
CSS トランジションを使用すると、指定した期間にわたってプロパティ値をスムーズに変更できます。これらは、ホバー効果、ボタン アニメーション、その他のインタラクティブな要素の作成に最適です。
トランジションを作成するには、トランジションの CSS プロパティ、期間、およびオプションのイージング関数を指定する必要があります。
.button { background-color: #4CAF50; transition: background-color 0.3s ease; } .button:hover { background-color: #45a049; }
この例では、ホバーするとボタンの背景色が 0.3 秒かけて滑らかに変化します。
カンマで区切ることにより、複数のプロパティを一度に遷移できます。
.box { width: 100px; height: 100px; background-color: #333; transition: width 0.5s, height 0.5s, background-color 0.5s; } .box:hover { width: 150px; height: 150px; background-color: #555; }
この例では、ホバー時にボックスの幅、高さ、背景色をスムーズに変更します。
イージング関数は、さまざまなポイントでトランジションの速度を制御し、イージングイン、イージングアウト、またはその両方などの効果を作成します。
CSS アニメーションを使用すると、単純な遷移を超えて、時間の経過とともに変化するより複雑なシーケンスを作成できます。複数のプロパティをアニメーション化し、タイミングを制御し、キーフレームを作成してより詳細に制御できます。
アニメーションを作成するには、キーフレームを定義し、アニメーション プロパティを使用して要素に適用します。
@keyframes example { 0% {background-color: red; left: 0px;} 50% {background-color: yellow; left: 100px;} 100% {background-color: green; left: 0px;} } .animate-box { position: relative; width: 100px; height: 100px; background-color: red; animation: example 5s infinite; }
この例では:
アニメーションのタイミング、遅延、反復回数を制御できます。
.animate-box { animation: example 5s ease-in-out 1s 3 alternate; }
トランジションとアニメーションを組み合わせて使用すると、よりダイナミックな効果を作成できます。
.button { background-color: #4CAF50; transition: transform 0.3s ease; } .button:hover { transform: scale(1.1); } @keyframes pulse { 0% {transform: scale(1);} 50% {transform: scale(1.2);} 100% {transform: scale(1);} } .pulse-button { animation: pulse 1s infinite; }
この例:
トランジションとアニメーションを組み合わせて、応答性の高いインタラクティブなボタンを作成しましょう。
HTML:
<button class="animated-button">Hover Me!</button>
CSS:
.animated-button { padding: 15px 30px; font-size: 16px; color: white; background-color: #008CBA; border: none; border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease, transform 0.3s ease; } .animated-button:hover { background-color: #005f73; transform: translateY(-5px); } @keyframes shake { 0% { transform: translateX(0); } 25% { transform: translateX(-5px); } 50% { transform: translateX(5px); } 75% { transform: translateX(-5px); } 100% { transform: translateX(0); } } .animated-button:active { animation: shake 0.5s; }
この例では:
次のステップ: 次の講義では、CSS Flexbox の詳細を検討します。ここでは、Flexbox を最大限に活用して高度な応答性の高いレイアウトを作成する方法を学びます。乞うご期待!
リドイ・ハサン
以上がCSS トランジションとアニメーションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。