CSS3 を使用して楕円軌道の回転を実装するサンプルコード

CSS3 を使用して楕円軌道の回転を実装するサンプルコード

最近、次のような効果を達成する必要がある

最初は、CSS3D回転を使用して記述すると、次の効果しか得られません

全ての円を正面に向けることができません。操作が間違っているのか、3D回転ができないのか分かりません。どなたかご存知の方がいらっしゃいましたら、ご教授ください。

3Dでは実現できないので2Dにするしかないのですが、楕円に沿った回転が実現できれば大丈夫です。

X軸とY軸は長方形内で移動する

パスはスラッシュです

 。ボール {
    アニメーション: 
      animX 2s 線形無限交互、
      アニメーション 2s 線形 無限 交互
  }
@keyframes アニメーションX{
      0% {左: 0px;}
    100% {左: 500px;}
}
@keyframes アニメーションY{
      0% {上: 0px;}
    100% {上部: 300px;}
} 

アニメーション遅延の設定

Y軸の遅延をアニメーション期間の半分に設定します。モーションの軌跡がダイヤモンド形になることがわかります。少し良くなったように感じます。

 。ボール {
    アニメーション: 
      animX 2s 線形 0s 無限交互、
      アニメーション 2秒 線形 -1秒 無限 交互
  } 

3次ベジェ曲線を設定します

 。ボール {
    アニメーション: 
      animX 2s cubic-bezier(0.36, 0, 0.64, 1) -1s 無限交互、
      animY 2s cubic-bezier(0.36, 0, 0.64, 1) 0s 無限交互
  }

ズームインとズームアウト

立体的に見せるために、 scale属性を追加します。スケールアニメーションは、X軸とY軸の時間の合計になります。

.ボール1 {
    アニメーション: 
      animX 2s cubic-bezier(0.36, 0, 0.64, 1) -1s 無限交互、
      animY 2s cubic-bezier(0.36, 0, 0.64, 1) 0s 無限交互、
      スケール 4s cubic-bezier(0.36, 0, 0.64, 1) 0s 無限交互;
  }
 @keyframesスケール{

    0% {
      変換: スケール(0.7)
    }
    50% {
      変換: スケール(1)
    }
    100% {
      変換: スケール(0.7)
   }
 } 

ミッション完了!

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  Vueはシンプルなマーキー効果を実装します

>>:  HTML タイトル属性をラップする方法

推薦する

CentOS 8 VMware 仮想マシンがインターネットにアクセスするための静的 IP ネットワーク カードの設定の詳細な説明

最初のステップ: VMwareで、「編集」-「仮想ネットワークエディタ」をクリックします。下図に示す...

JavaScript操作要素は、ページコンテンツのスタイルを変更する方法を教えます

目次1. 操作要素1.1. 要素コンテンツの変更1.2. innerText と innerHtml...

フロントエンドページのポップアップマスクはページのスクロールを禁止します

フロントエンド開発者がよく遭遇する問題は、ユーザーに情報を提示するためのポップアップ ウィンドウを作...

Dockerでホストファイルをカスタマイズする方法について簡単に説明します

目次1. コマンド2. docker-compose.yml 3. Dockerファイル4. 直接変...

MySQL データベース テーブルとデータベース パーティショニング戦略

まず、テーブルを分割する必要がある理由について説明します。データシートが数百万に達すると、1 回のク...

Dockerはローカルイメージとコンテナの保存場所を設定します

指定したサイズより大きいファイルを検索するには、find コマンドを使用します。 検索 / -typ...

MySQL で時刻と日付の型を保存する際の選択問題を分析する

一般的なアプリケーションでは、timestamp、datetime、int 型を使用して時間形式を保...

Linux 負荷分散 LVS の詳細な理解

目次1. LVS 負荷分散2. 負荷分散LVSの基本紹介3. LVSアーキテクチャ3.1 ロードバラ...

LeetCode の SQL 実装 (183. 注文をしたことがない顧客)

[LeetCode] 183.注文しない顧客Web サイトに、Customers テーブルと Or...

HTMLフォーム要素の詳しい解説(パート1)

HTML フォームは、さまざまな種類のユーザー入力を収集するために使用されます。 HTML フォー...

Helloダイアログボックスのデザイン体験の共有

「どうしたの?」特定の種類のダイアログ ボックスに慣れていない限り、ダイアログ ボックスが表示された...

MySql バッチに挿入するときにデータの重複を避ける方法

目次序文1. ignore を挿入2. 重複キーの更新時3. を置き換える要約する序文Mysql は...

Layuiテーブルは指定された行のラジオボタンを選択し、その行の実装コードまでスクロールします。

layui テーブルには複数行のデータがあります。外部入力コンテンツを通じて、指定された行を見つけ...

node.js が大規模プロジェクトに適さない理由

目次序文1. アプリケーションコンポーネント2. アプリケーションの種類3. アプリケーションサービ...

JSON.stringify を使用する際に発生する循環参照の問題を解決する方法の詳細な説明

プログラマーが日常的に TypeScript/JavaScript 開発を行う場合、複雑な Java...