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 の使用

推薦する

JavaScriptで継承を実装するいくつかの方法

目次構造継承(callで実装)プロトタイプチェーン継承(プロトタイプチェーンの助けを借りて実装)複合...

MySQLの実行プロセスとシーケンスについての簡単な説明

目次1:mysql実行プロセス1.1: コネクタ1.2: キャッシュ1.3: アナライザー1.4: ...

JavaScript実行メカニズムの詳細な紹介

目次1. プロセスとスレッドの概念2. ブラウザの原則3. 同期と非同期4. 実行スタックとタスクキ...

Firefox で Webdings フォントをサポートする方法

Firefox、Opera、その他のブラウザは Webdings フォントをサポートしていません。回...

JavaScript でツリー構造を構築するための効率的なアルゴリズムについての簡単な説明

目次導入アイデアID配列インデックスのマッピング関係を確立するツリー構造の構築原理要約する導入組織階...

nginx で正規表現を使用してワイルドカードドメイン名を自動的に一致させる方法

Nginxは正規表現を使用して、ワイルドカードドメイン名をディレクトリに自動的に一致させます。 Ng...

MySQL5.7.17 winx64 インストール バージョン構成方法 Windows Server 2008 R2 でのグラフィック チュートリアル

参考までに、Winでmysql5.7をインストールします。具体的な内容は次のとおりです。 @Auth...

コンテンツタイプの説明、つまりHTTPリクエストヘッダーのタイプ

コンテンツ タイプについて学ぶには、まずそれが何であるか、そして何に使用されるかを知る必要があります...

Windows に Docker をインストールする詳細なチュートリアル

ローカルの MySQL バージョンが比較的低いため、最近 MySQL のバージョンをアップグレードす...

Vueはプルダウンを実装してさらに読み込む

Element-UI に慣れた開発者なら、無限スクロールの InfiniteScroll が使いにく...

MySQLの共通関数の概要

序文: MySQL データベースは、よく使用される集計関数、日付および文字列処理関数など、幅広い関数...

Vueを使い始める際に習得する必要がある知識について簡単に説明します

最も人気のあるフロントエンド フレームワークの 1 つとして、Vue は多くのフロントエンド開発エン...

JavaScript関数の詳細な説明これを指す問題

目次1.関数内のこの方向1. 通常の機能2. コンストラクター3. オブジェクトメソッド4. イベン...

MySQL 8.0.14 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.14のインストールと設定のプロセスを記録しています。具体的な内容は...

CentOS 7.4 に MySQL 5.7 を手動でインストールする方法

MySQL データベースは、特に JAVA プログラマーの間で広く使用されています。クラウド データ...