【無料】簡単!クリックアニメーション

クリックを誘うアニメーションを作ったのでメモしておきます。

1.2枚のSVG画像をアップロード

SVG画像素材も私が作ったものなので、必要がありましたらダウンロードしてお使いください。
(再配布や直リンクは禁止です)
※WordPressの場合は、初期設定だとSVGが使えないので、safeSVGなどのプラグインを入れて、SVG画像を使えるようにしておいてください。

画像1(click-01.svg)

画像2(click-02.svg)

2.HTMLに以下を追加

クリックアニメーションを表示させたい場所に以下のコードを追加。

<span class="finger-anime" aria-hidden="true"></span>

3.以下のCSSを追加

画像のパスは、実際にアップロードしたURLに修正してください。

.finger-anime {
    --w: 50px;/*任意のサイズに編集*/
    --h: 55px;/*任意のサイズに編集*/
    --move-x: -8px;
    --move-y: 8px;
    --point-x: 0px;
    --point-y: 0px;
    --dur: 2s;/*アニメーションの長さ*/
    position: relative;
    display: inline-block;
    width: var(--w);
    height: var(--h);
    pointer-events: none;
    top: 0px;/*任意の位置に編集*/
    right: 0px;/*任意の位置に編集*/
    z-index: 1000;
}
.finger-anime::before,
.finger-anime::after{
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(0, 0);
  will-change: transform;
  opacity: 0;
}
.finger-anime::before{
  background: url("/click-01.svg") no-repeat center / contain;
  /*画像ファイルのパスをアップロード先に修正*/
  transform-origin: 50% 50%;
  animation: finger-move var(--dur) ease-in-out infinite;
}
.finger-anime::after{
  background: url("/click-02.svg") no-repeat center / contain;
  /*画像ファイルのパスをアップロード先に修正*/
  transform: translate(var(--point-x), var(--point-y));
  animation: point-pulse var(--dur) ease-in-out infinite;
}
@keyframes finger-move{
  0%   { transform: translate(0, 0) scale(1) rotate(0deg); opacity: 0;}
  35%  { transform: translate(0, 0) scale(1) rotate(0deg); }
  50%  { transform: translate(var(--move-x), var(--move-y)) scale(0.94) rotate(-2deg);   opacity: 1;}
  62%  { transform: translate(var(--move-x), var(--move-y)) scale(0.97) rotate(-1deg); }
  100% { transform: translate(0, 0) scale(1) rotate(0deg); opacity: 0; }
}
@keyframes point-pulse{
  0%   { opacity: 0; }
  38%  { opacity: 0; }
  50%  { opacity: 1; } 
  62%  { opacity: 0; }
  100% { opacity: 0; }
}

4.完成!

こんな感じに表示されます↓