速報

Microsoft 365で接続障害|OutlookやTeams予定表に影響し復旧作業が継続

CATEGORY

【CSS】マウスオーバーでテキストがウェーブするアニメーション

※本ページのリンクにはプロモーションが含まれています。

【CSS】マウスオーバーでテキストがウェーブするアニメーション

目次

マウスオーバーでテキストがウェーブするCSSのアニメーションのご紹介です。

リンクやボタン、テキストにマウスカーソルを乗せると、要素が持っているテキストが一文字ずつ跳ねるように動くアニメーションです。下記にデモを用意しましたので、「WAVE」と表示されたテキストにマウスカーソルを乗せてみてください。

See the Pen Hover Animation6 | CSS by ryoy (@intotheprogram) on CodePen.

「WAVE」が一文字ずつ上方向に動き、しばらくすると元の位置に戻ります。設置場所を選ばないシンプルなアニメーションのため、ヘッダーやフッター、サイドバーのリンク等でも使用することができます。

本記事では上記アニメーションの実装方法を詳しくご紹介したいと思います。

では、解説していきます。

スポンサーリンク

テキストを一文字ずつに分割してHTMLを作成する

まずはHTMLを作成します。本記事でご紹介するアニメーションは一文字ずつにスタイルを定義する必要がありますので、spanタグでテキストを一文字ずつに分割してマークアップします。

下記のようなHTMLになります。

HTML

<div class="wave">
  <span>W</span>
  <span>A</span>
  <span>V</span>
  <span>E</span>
</div>

サンプルでは「WAVE」という文字を一文字ずつに分割しています。spanタグを使用していますが、他のタグを使用していただいても問題ありません。お好みのタグを使用しましょう。

一文字ずつ囲ったタグにスタイルを定義する

続いて前項で用意したHTMLにスタイルを定義していきます。アニメーションの動きの部分は@keyframesで作成し、spanタグに指定します。各spanタグにdelayを設定して少しずつアニメーションが遅れて実行されるようにしています。

詳しくは下記をご参照いただければと思います。

CSS

@keyframes wave {
  100% {
    transform: translate3d(0, -10px, 0);
  }
}

.wave {
  display: block;
  width: 150px;
  text-align: center;
}

.wave span {
  display: inline-block;
  color: #fff;
  font-size: 2em;
}

.wave:hover span {
  animation-name: wave;
  animation-duration: .2s;
  animation-direction: alternate;
  animation-iteration-count: 2;
}

.wave:hover span:nth-child(2) {
  animation-delay: .1s;
}

.wave:hover span:nth-child(3) {
  animation-delay: .2s;
}

.wave:hover span:nth-child(4) {
  animation-delay: .3s;
}

ここまでの内容を記述すると、下記のようなアニメーションが完成しているかと思います。

See the Pen Hover Animation6 | CSS by ryoy (@intotheprogram) on CodePen.

スポンサーリンク

最後に

いかがでしたでしょうか。

本記事でご紹介したウェーブのアニメーションは@keyframesとanimationの基本的な内容で作成しました。アニメーションの実行時間や遅延の設定を好きな時間に設定することで独特な動きをするウェーブアニメーションが作れるかと思いますので、ぜひ色々改良していただければ幸いです。

以上、マウスオーバーでテキストがウェーブするCSSアニメーションのご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク