CSS を使用して要素の円弧の動きを制御する方法 CSS3 の新しい属性 transfrom トランジション効果によって、要素の移動、回転、拡大縮小を実現できることは誰もが知っています。アニメーション属性と組み合わせることで、要素のアニメーション効果を実現できます。しかし、CSS を使用して要素の円弧移動を実現する方法は次のとおりです。 上のアニメーションに示すように、ボールは弧を描いて動きます。動きを分析します。
3次ベジェ関数 animation プロパティには、アニメーションの速度関数である animation-timing-function プロパティがあります。このプロパティは、3 次ベジェ関数と呼ばれる数学関数を使用して速度曲線を生成します。 3次ベジェ関数 (x1, y1, x2, y2): (3次ベジェ関数の具体的な意味については、関連資料を参照してください): このウェブサイト ポータルを使用すると、曲線の値をリアルタイムで調整できます。 animation-timing-function 属性には、よく使用される、ease、linear、ease-in、ease-out、ease-in-out などのパッケージ化された速度関数がすでにいくつか用意されています。 効果の実現 まず考えられるのは、X軸とY軸の変位アニメーションを分離することです。ただし、要素のアニメーションは一度に 1 つのアニメーション (最後に宣言されたアニメーション) しか実行できません。そこで、別の観点から考えて、2 つの親子要素を使用することができます。親要素に X 軸の変位アニメーションを追加し、子要素に Y 軸の変位アニメーションを追加します。具体的なコードは次のとおりです。 <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <title>要素の円弧の動き</title> <スタイル> 。箱{ 幅: 400ピクセル; 高さ: 400px; 境界線: 2px 実線 #ff8800; } スパン{ 表示: ブロック; 幅: 40px; 高さ: 40px; 境界線: 1px 実線 #222; アニメーション: center1 2s 前方へのイーズイン; } span:後{ コンテンツ: ''; 表示: ブロック; 幅: 40px; 高さ: 40px; -webkit-border-radius: 20px; -moz-border-radius: 20px; 境界線の半径: 20px; 背景: 緑黄色; アニメーション: center2 2s 前方へのイーズアウト; } @キーフレーム 中心1 { {変換: translateX(360px)} } @keyframes 中心2 { {変換: translateY(360px)} } </スタイル> </head> <本文> <div class="box"> <span></span> </div> </本文> </html> このとき、子要素を置き換えるために要素の疑似クラス after を使用しましたが、効果は同じです。 span に色付きの境界線を付けると、2 つの要素の移動軌跡を簡単に観察できます。 アニメーション効果は次のとおりです。 この時点では、緑色のボールが弧を描いて動いていることはまだ比較的明らかです。 拡張機能: この時点で円弧の大きさが十分でなかったり、円弧が目立たないと感じる場合は、3 次ベジェ関数の値を自分で調整できます。ウェブサイトポータルによると。
現時点での CSS コードは次のとおりです。 スパン{ 表示: ブロック; 幅: 40px; 高さ: 40px; 境界線: 1px 実線 #222; アニメーション: center1 2s cubic-bezier(.66,.01,1,1) 前方; } span:後{ コンテンツ: ''; 表示: ブロック; 幅: 40px; 高さ: 40px; -webkit-border-radius: 20px; -moz-border-radius: 20px; 境界線の半径: 20px; 背景: 緑黄色; アニメーション: center2 2s cubic-bezier(0,0,.36,1) 前方; } このときのアニメーション効果の弧はさらに明白です。 これで、CSS3 で要素アークモーションを実装するサンプルコードに関するこの記事は終了です。CSS3 要素アークモーションに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 |
>>: 初心者向けウェブサイト構築ガイド⑦:美しいウェブサイトを作るのはとっても簡単
今日は、参考までに、jsを使用してカルーセルマップの効果を実現する方法についてお話ししましょう。具体...
Yum (フルネームは Yellow dog Updater, Modified) は、Fedora...
Linux では、通常、ファイルの名前を変更するために mv コマンドを使用します。これは、単一のフ...
序文MySQL スロー クエリ ログは、日常業務でよく遭遇する機能です。MySQL スロー クエリ ...
ドロップダウンボックス、テキストフィールド、ファイルフィールド 上半分はデモンストレーション効果、下...
1. PRIMARY KEY(主キーインデックス)を追加するmysql>ALTER TABLE...
ブラウザウィンドウの中央に要素を配置する方法まず、コード ブロックを示します。すでにコードを理解して...
この記事の例では、ユーザー登録機能を実装するためのjsの具体的なコードを参考までに共有しています。具...
シナリオシミュレーション:ある会社の運用保守担当者は、以前購入した一連のネットワーク機器の光ポートの...
2 日前、Raspberry Pi サーバーを Ubuntu 20 にアップグレードしました。今日...
1. 監視アーキテクチャ図 2. 実装のアイデアJenkins に Metrics プラグインをイン...
各浮動小数点型のストレージ サイズと範囲は、次の表に示されています。タイプサイズ範囲(符号付き)範囲...
今日は nginx サーバーを使用するのですが、vue プロジェクトをサーバーにデプロイする必要もあ...
退屈だったので、ループに関する簡単な演習をいくつかまとめてみました。JS を学び始めたばかりの方に役...
この記事では、JavaScriptカルーセルの実装方法を参考までに紹介します。具体的な内容は次のとお...