CSS3 は、跳ねるボール効果を実現する Web アニメーションを作成します。

CSS3 は、跳ねるボール効果を実現する Web アニメーションを作成します。

基本的な準備

この実装には、クラス名が ball である単純な div が必要です。

HTMLコード:

<div class="ボール"></div>

Flexbox レイアウトを使用して、ボールをページの中央に配置します。サイズは 100px × 100px、背景色はオレンジです。

CSSコード:

体 {
display: flex; /* Flexレイアウトを使用する */
justify-content: center; /* 水平方向の中央 */
}
。ボール {
幅: 100ピクセル;
高さ: 100px;
border-radius: 50%; /* 正方形を円に変更します */
background-color: #FF5722; /* 色をオレンジ色に設定します */
}

キーフレームの作成

キーフレームは CSS アニメーションで使用されるため、アニメーションを完全に制御できます。キーフレーム スタイルの作成は非常に簡単です。キーワード @keyframes に続けてアニメーションの名前を使用します。

CSSコード:

@keyframes アニメーション名 {
/* コード */
}

この例では、キーフレームに「bounce」という名前を付けます。 Keyframe では、from キーワードと to キーワードを使用して、アニメーションの開始点と終了点の CSS スタイルを指定します。

CSSコード:

@keyframes バウンス {
{ /* 開始 */ } から
{ /* 終了 */ } まで
}

シンプルですよね? 最後のステップとして、開始点と終了点に CSS スタイルを追加します。バウンド効果を作成するには、ボールの位置を変更するだけです。 transform を使用すると、特定の要素の座標を変更できます。最終的なキーフレームは次のとおりです。

CSSコード:

@keyframes バウンス {
{ transform: translate3d(0, 0, 0); } から
を { transform: translate3d(0, 200px, 0); } に変更します。
}

transform を使用して、ボールを 3 次元軸に沿って移動します。translate3D 関数には、(x、y、z) という 3 つの入力パラメータが必要です。 ボールを上下に跳ねさせたいので、y 軸に沿って移動させるだけで済みます。したがって、アニメーションの終了点(つまり、to のスタイル)の y 値は 200px になります。

キーフレームを実行

@keyframe が作成されたので、実際に使用してみましょう。 .ball{} css に戻り、次のコード行を追加します。

CSSコード:

。ボール {
/* ... */
アニメーション: バウンス 0.5 秒;
アニメーション方向: 代替;
アニメーションの反復回数: 無限;
}

次の 3 行のコードについて説明します。

キーフレーム ルールを使用して、ボール要素にバウンドするように指示します。 アニメーションが完了するまでの時間を 0.5 秒に設定します。

完了後は、アニメーションが逆方向(反転)に実行されます。

アニメーションを無制限に実行します。

これまでのところ素晴らしいです。 これは私たちが望んでいるものに近いですが、まだ完璧ではありません。

弾むボールのようには見えません。これは、アニメーションの速度カーブを設定していないため、デフォルトでイーズに設定されるからです。つまり、アニメーションはゆっくりと始まり、途中でスピードが上がり、終わり近くで再びスピードが下がります。残念ながら、これはバウンドするボールには理想的ではありません。幸いなことに、この速度曲線を Math を使用してカスタマイズできます。

あまり詳しく説明する必要はありませんが、ベジェ曲線を使用してカスタムアニメーションのタイミングを指定できます。添付のコードは次のとおりです。

CSSコード:

。ボール {
/* ... */
アニメーション: バウンス 0.5 秒 cubic-bezier(.5,0.05,1,.5);
}

もちろん、これは CSS アニメーションとキーフレームを使用して作成された最も単純なアニメーション効果です。

要約する

上記は、CSS3 を使用して Web アニメーションを作成し、バウンドするボール効果を実現する方法について紹介したものです。お役に立てば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

<<:  Vue ルーティング遅延読み込みの詳細

>>:  HTML tbody の使用

推薦する

YUMを使用してdockerをインストールする方法

次の図に示すように: Centos 7.0以上であれば問題ありません。現在のシステム カーネル バー...

js を使用してファイルが UTF-8 でエンコードされているかどうかを判断する方法

従来の解決策FileReader を使用して UTF-8 形式のファイルを読み取り、ファイルの内容に...

CSS3 3Dクールキューブ変形アニメーションの実装

私はコーディングが大好きです。コーディングすると幸せになります!みなさんこんにちは、Counterで...

div が隠しテキストを超え、div 部分の向こうの CSS コードを隠します

隠れる前に:隠れた後: CS: ...コードをコピーコードは次のとおりです。オーバーフロー:非表示;...

JavaScript スクリプトが実行されるタイミングの詳細な説明

JavaScript スクリプトは HTML 内のどこにでも埋め込むことができますが、いつ呼び出され...

Q&A: XML と HTML の違い

Q: xml と html の違いがわかりません。違いは何ですか? A: XMLと HTML の違い...

nginx ip ブラックリストの動的禁止の例

ウェブサイトが悪意を持ってリクエストされた場合、IP アドレスをブラックリストに登録することは重要な...

非常に優れた CSS スキル 10 選のコレクションと共有

ここでは、CSS テクニックを巧みに使用することで、HTML を変更せずにブログやテンプレートの外観...

JavaScript DOM オブジェクト操作

目次1. コア1. Domノードを取得する2. ノードの更新2.1 実践演習3. Domノードを削除...

VUEはトークンログイン認証を実装

この記事では、トークンログイン認証を実装するためのVUEの具体的なコードを例として紹介します。具体的...

速度、読み込み、Web アプリケーションなどにおける div と table の違い。

1: 速度と読み込み方法の違いdivとtableの違いは速度ではなく、読み込み方法です。速度はネット...

Reactは一般的なスケルトン画面コンポーネントの例を実装します

目次スケルトンスクリーンとは何ですか?デモデザインのアイデア具体的な実装スケルトンスクリーンとは何で...

CSS3 パッケージ化後にプレフィックスプラグインを自動的に追加する方法の詳細な説明: autoprefixer

vue-cli で構築されたプロジェクト スキャフォールディングでは、すでに autoprefix...

ソースコード分析からTomcatがサーブレットの初期化を呼び出す方法の詳細な説明

目次導入1. Tomcatを起動するコード2. Tomcatフレームワーク3. コンテナを作成する ...