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 タイトル属性をラップする方法

推薦する

Docker プライベートリポジトリの管理とローカルリポジトリ内のイメージの削除

1: Dockerプライベートウェアハウスのインストール1. イメージリポジトリからイメージをダウン...

WeChatアプレットが計算機機能を実装

この記事では、WeChatアプレットの計算機機能を実装するための具体的なコードを参考までに紹介します...

Vue でクラスとスタイルを使用して v-bind バインディングを使用するいくつかの方法

要素にクラスを追加/削除することは、プロジェクト開発では非常に一般的な動作です。たとえば、Web サ...

shtmlとhtmlの違い

Shtml と asp は似ています。shtml という名前のファイルでは、asp の命令と同様に、...

ブラウザの自動フォーム入力によるウェブページのスタイル損失の原因の分析と解決

バックエンドからフロントエンドまで、なんと悲劇なのでしょう。他の人の CSS を自分の jsp We...

Windows 10 での MySQL 5.7.21 インストーラのインストール グラフィック チュートリアル

MySQLをインストールしてメモしておきます。うまくインストールできるか分かりませんが、試してみます...

数十行のjsを使用してクールなキャンバスインタラクティブ効果を実現する方法を教えます

目次1. 円を描く2. マウスで動かした円3. マウスでドラッグした粒子4. カラーグラデーション粒...

WeChatアプレットタブの左右スライドスイッチ機能実装コード

効果画像: 1. はじめに独自のアプレットでこのような機能を実装する必要がある1. 核となる考え方ス...

Linuxで新しいユーザーを作成し、指定されたディレクトリへの権限を付与する

1 ユーザーを作成し、ユーザーのルートパスとパスワードを指定します useradd -d /home...

インラインブロックを使用した複数のdiv間の間隔はプログラミング方法とは異なります

inline-block について学習しているときに、境界線と inline-block を持つ複数...

JS ループで async と await を正しく使用する方法

目次概要(ループモード - 共通)配列と非同期メソッドを宣言して反復するforループで使用するマップ...

Vueはカスタム命令を使用してページの下部に透かしを追加します

プロジェクトシナリオプロジェクトの背景全体にカスタム透かしを追加します。透かしのテキスト、フォントの...

Nginx で https をアップグレードする方法

購入証明書Alibaba CloudのCloud Shield証明書サービスから購入できます。証明書...

JSは写真の自動再生効果を実現します

この記事では、写真の自動再生効果を実現するためのJSの具体的なコードを参考までに紹介します。具体的な...

Windows 10 で MySQL の解凍バージョンをインストールする方法の詳細なグラフィック チュートリアル

MySQL のインストールは、インストール バージョンと解凍バージョンに分かれています。インストール...