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 キーを押すと自動的にフォームを送信し、他のページにジャンプするソリューション

推薦する

vue構成ファイルはルーティングとメニューインスタンスコードを自動的に生成します

目次前面に書かれたルータ.jsonルート生成メニュー生成効果要約する前面に書かれたルートを繰り返し記...

CocosCreatorでJSZip圧縮を使用する方法

CocosCreator バージョン: 2.4.2 jszipの実践的なプロジェクトアプリケーション...

JavaScript が Xiaomi のカルーセル効果を模倣

この記事は、透明度を変えてカルーセルにするXiaomiカルーセルを真似て書いたものです。初心者なので...

Nginx の一般的な設定とテクニックの概要

序文この記事では、Nginx の一般的な、実用的で興味深い構成をいくつか紹介します。この記事を読んだ...

Spark RDD をデータフレームに変換し、それを MySQL に書き込む例

DataframeはSpark 1.3.0で導入された新しいAPIで、Sparkで大規模な構造化デー...

トランジションコンポーネントのアニメーション効果を使用した Vue サンプルコード

トランジションドキュメントアドレスは、フェードインとフェードアウト効果を実現するための背景ポップアッ...

Linux chkconfig コマンドの使用

1. コマンドの紹介chkconfig コマンドは、システム サービスの実行レベル情報を更新および照...

HTML で色を表すには、6 桁の 16 進コード、RGB、またはキーワードを使用します。

HTML で色を表す方法は 3 つありますが、最もよく使われるのは 6 桁の 16 進コード表現です...

レスポンシブフレームワークのテーブルヘッダーの自動改行問題に対する簡単な解決策

最近、Bootstrap を使って Web サイトを開発しています。表を処理していたところ、PC で...

MySql 学習 3 日目: データ テーブル間の接続とクエリの詳細

主キー:キーワード: 主キー機能: null にすることはできず、一意である必要があります。主キーの...

Vue における nextTick の役割といくつかの簡単な使用シナリオ

目的nextTickの役割といくつかの簡単な使用シナリオを理解する文章その機能は何ですか?遅延コール...

フレックスレイアウトが子要素によって引き伸ばされたときに、コンテンツをコンテナ内に保持する方法

モバイル デバイスでは、フレックス レイアウトが非常に便利です。デバイスの幅に応じてコンテナーの幅を...

HTML でスクロールバーを使用する際のヒントを共有する

今日、牛南ニュースリリースシステムについて学んでいたとき、牛南先生はスクロールバーに関するいくつかの...

React.FCとReact.Componentの使用に関する簡単な説明

目次1. React.FC<> 2. クラスxxはReact.Componentを拡張し...

Linuxカーネルのアクセス制御セキュリティを強化する方法

背景以前、当社のプロジェクト チームは、Windows、Linux、macOS の 3 つの主要なオ...