速報

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

CATEGORY

【CSS】keyframesのanimationをマウスオーバーで一時停止する方法

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

【CSS】keyframesのanimationをマウスオーバーで一時停止する方法

目次

マウスオーバーでkeyframesのanimationを一時停止する方法のご紹介です。

アニメーションしている要素にマウスカーソルを載せると、アニメーションが一時停止状態に、マウスカーソルを外すと再びアニメーションが実行される処理になります。

具体的には、下記のデモのような動きになります。

See the Pen Keyframes Animation Paused|CSS by ryoy (@intotheprogram) on CodePen.

本記事の内容

  • アニメーションの実行・一時停止を制御する
  • マウスオーバーでアニメーションを一時停止する

keyframesとanimationについては下記の記事で詳しく解説していますので、使い方から勉強されたい方はぜひご覧いただければ思います。

【HTML/CSS】@keyframesとanimationの使い方

本題に戻りまして、マウスオーバーでkeyframesのanimationを一時停止する方法を解説していきます。

スポンサーリンク

アニメーションの実行・一時停止を制御する

アニメーションの実行・一時停止の制御は、「animation-play-state」というプロパティを使用して実装します。animationが指定されている要素に有効なプロパティーとなります。指定されていなければ動作しませんので、ご注意ください。

animation-play-stateは下記のように記述します。

実行

animation-play-state: running;

一時停止

animation-play-state: paused;

runningで実行、pausedで一時停止とわかりやすい記述となっています。

注意点として、アニメーションを一時停止した後に再開した場合、アニメーションは最初からではなく一時停止した地点から再開されます。その点だけ覚えておいていただければと思います。

マウスオーバーでアニメーションを一時停止する

アニメーションの実行・一時停止方法は上記でご説明した通りです。後は、マウスオーバー(hover)した際にアニメーションを一時停止するように記述して完成となります。

HTML

<div class="animation">Hover Me!</div>

CSS

@keyframes onBorder {
  from {
    background: #7287fb;
    border: 0px solid #fff;
  }
  to {
    background: #9cfcf8;
    border: 15px solid #fff;
  }
}

.animation {
  animation-name: onBorder;
  animation-duration: 1s;
  animation-direction: alternate;
  animation-iteration-count: infinite;
}

.animation:hover {
  animation-play-state: paused;
}

DEMO

See the Pen Keyframes Animation Paused|CSS by ryoy (@intotheprogram) on CodePen.

スポンサーリンク

まとめ

最後にアニメーションの実行・一時停止の記述方法をまとめます。

実行 animation-play-state: running;
一時停止 animation-play-state: paused;

以上、マウスオーバーでkeyframesのanimationを一時停止する方法のご紹介でした!

CSSのみで書かれたアニメーションのサンプルは、codepen等にたくさん公開されています。色々な記述方法を学んで、吸収して、自分だけのアニメーションを作り上げてくださいね。

この記事を書いた人

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などの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク