CSS3アニメーション属性に基づくWeChatタップアニメーション効果の実装

CSS3アニメーション属性に基づくWeChatタップアニメーション効果の実装

最近人気のWeChatタップ機能を見て、CSS3アニメーションを見直し、このボックスシェイクアニメーションを作成し、QQウィンドウシェイクを追加しました。

@-webkit-keyframes シェイク {
    0% {
        -webkit-transform: translate(2px, 2px);
    }

    25% {
        -webkit-transform: translate(-2px, -2px);
    }

    50% {
        -webkit-transform: translate(0px, 0px);
    }

    75% {
        -webkit-transform: translate(2px, -2px);
    }

    100% {
        -webkit-transform: translate(-2px, 2px);
    }
}

@keyframes シェイク {
    0% {
        変換: translate(2px, 2px);
    }

    25% {
        変換: translate(-2px, -2px);
    }

    50% {
        変換: translate(0px, 0px);
    }

    75% {
        変換: translate(2px, -2px);
    }

    100% {
        変換: translate(-2px, 2px);
    }
}

.シェイク{
    位置: 相対的;
    上: 30px;
    左: 100px;
    高さ: 200px;
    幅: 200ピクセル;
    色: #ff0000;
    背景: #000;
}

.shake:hover {
    -webkit-animation: 0.2 秒のシェイクを無限に実行します。
    アニメーション: 0.2 秒無限にシェイクします。
}
 /*アクティビティスイングアニメーション*/
 @-webkit-keyframes スイング {
  10% {
    変換: 回転(15度);
  }
  20% {
    変換: 回転(-10度);
  }
  30% {
    変換: 回転(5度);
  }
  40% {
    変換: 回転(-5度);
  }
  50%,100% {
    変換: 回転(0度);
  }
}
@-moz-keyframes スイング {
  10% {
    変換: 回転(15度);
  }
  20% {
    変換: 回転(-10度);
  }
  30% {
    変換: 回転(5度);
  }
  40% {
    変換: 回転(-5度);
  }
  50%,100% {
    変換: 回転(0度);
  }
}
@-o-keyframes スイング {
  10% {
    変換: 回転(15度);
  }
  20% {
    変換: 回転(-10度);
  }
  30% {
    変換: 回転(5度);
  }
  40% {
    変換: 回転(-5度);
  }
  50%,100% {
    変換: 回転(0度);
  }
}
@keyframes スイング {
  10% {
    変換: 回転(12度);
  }
  20% {
    変換: 回転(-11.5度);
  }
  30% {
    変換: 回転(1度);
  }
  40% {
    変換: 回転(-1度);
  }
  50%,100% {
    変換: 回転(0.5度);
  }
}
.ずらす {
  背景色: #ff0000;
  幅: 60ピクセル;
  高さ: 60px;
}
.stagger1{
  アニメーション: スイング 0.5 秒 0.15 秒 リニア 1;
  /* アニメーション再生状態: 一時停止; */
}
 <!-- qq ウィンドウが揺れる -->
  <div class="shake">qq ウィンドウシェイク</div>
  <!-- WeChatアバターが揺れる-->
  <div class="stagger">WeChat パットアバターが揺れる</div>
document.querySelector('.stagger').addEventListener('click', function() {
      document.querySelector('.stagger').classList.add('stagger1')
      console.log('パパが赤ちゃんを小突いた')
})
	/*クリックごとにアニメーションが実装され、監視アニメーションの終了に注意し、アニメーションクラスを削除してからアニメーションクラスを追加します document.querySelector('.stagger').addEventListener('animationend', function() {
      document.querySelector('.stagger').classList.remove('stagger1')
    })

CSS3アニメーション属性に基づいてWeChatタップアニメーション効果を実装する方法についての記事はこれで終わりです。CSS3 WeChatタップ機能の関連コンテンツについては、123WORDPRESS.COMの以前の記事を検索するか、次の関連記事を引き続き参照してください。今後も123WORDPRESS.COMを応援してください。

<<:  SQL ROW_NUMBER() および OVER() メソッドのケーススタディ

>>:  ウェブページで Enter キーを押すと自動的にフォームを送信し、他のページにジャンプするソリューション

推薦する

初心者がHTMLタグを学ぶ(1)

初心者は、いくつかの HTML タグを理解することで HTML を学習できます。この入門書は、初心者...

Vue3 コンポジション API でロジックの再利用を実装する方法

Composition API はロジック再利用手順を実装します。ロジックコードを関数に抽出します。...

クールなネオンライト効果を実現する純粋な CSS (デモ付き)

私は最近、YouTube の CSS アニメーション効果チュートリアル シリーズをフォローしています...

MySQLデータの挿入、更新、削除の詳細

目次1. 挿入2. 更新3. 削除1. 挿入 顧客に挿入( 顧客.顧客住所、 顧客.cust_cit...

PHPのmail()関数を使用してメールを送信する

PHPのメール関数を使用してメールを送信するmail()関数はメールサーバーに接続し、サーバーと対話...

CSS3 で実装された価格表

結果: 実装コードhtml <div id="価格表" class=&qu...

CSS3実践手法のまとめ(推奨)

1. 丸い境界線: CSSコードコンテンツをクリップボードにコピー境界線の半径: 4px ; 2....

mysql8.0 でユーザーを作成して権限を付与する際のエラーの解決方法の詳細な説明

質問1:エラーを報告する書き込み方法: GRANT OPTION を使用して、'123123...

Windows (コミュニティ エディション) に MySQL 8.0.18 をインストールするためのチュートリアル

この記事では、Windows で MySQL をインストールする方法について簡単に説明します。他にご...

Dockerに証明書を追加する方法

1. アップグレードプロセス: sudo apt-get updateパッケージが見つからない、パッ...

Node.js を使用して C# のデータ テーブル エンティティ クラス生成ツールを作成する方法

Microsoft は T4 テンプレートを提供していますが、使用するのが非常に難しいと思います。ス...

期間限定フラッシュセール機能を実現するJavaScriptタイマー

この記事では、期間限定フラッシュセール機能を実装するためのJavaScriptの具体的なコードを参考...

MySQL 文字セットの概要

目次文字セット比較ルール4つのレベルの文字セットと比較規則3つのシステム変数このノートは主にMySQ...

MySQLデータ損失の原因と解決策

目次序文問題の説明原因分析拡大する総括する序文最近、データの欠落やデータの損失に関するフィードバック...

Vue-Routerのルート設定の詳しい説明

目次導入ルート内のオブジェクト属性パス: 文字列コンポーネント: コンポーネント | () =>...