壁に押しピンで貼りつけたような画像入りボックスデザイン(マウスオーバーで揺れます)

Animate.cssを利用して、マウスオーバーした時に左右に揺れる画像入りボックス(壁にポスターを押しピンで貼り付けたようなイメージ)を作成しました。

使用するファイル

  • HTML
  • CSS
  • JavaScript
  • ボックス内に入れたい画像ファイル

事前準備

Font Awesome(アイコンフォントを利用できるサイト)へ登録

登録は面倒に感じられるかもしれませんが、無料で使用できるアイコンもたくさんありますので、一度登録すれば今後ずいぶん重宝すると思います。(CSSの疑似要素を使って、アイコンを追加することも可能です。)
Font Awesomeにて、「Start for Free」を選択後、メールアドレスを登録します。
メール認証、パスワード設定と進んでいくと、コードが発行されますのでコピーして控えておきます。

HTMLファイルに読み込み

HTMLファイルにFont Awesome、css、jQueryを読み込みます。


<head>
~(略)~
  <!-- Font Awesome -->
  <script src="https://kit.fontawesome.com/発行されたコード.js" crossorigin="anonymous"></script>
  <!-- css -->
  <link rel="stylesheet" href="/css/style.css"> // ディレクトリやファイル名は適宜変更してください
</head>

  ~(略)~
  </footer>
  <!-- js -->
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  <script src="/js/main.js"></script> // ディレクトリやファイル名は適宜変更してください
</body>

コードを記述して完成

See the Pen swing anim by blue moon (@blue-moon) on CodePen.

補足説明

  • Animate.css  は、デフォルトではページ読み込み時の最初の一度しかアニメーションを実行しません。
    そのため、jQueryでマウスオーバーした時にクラスを付与し、マウスが離れたらクラスを削除する処理をしています。
  • 今回は、Animate.css  はCDNで読み込んでいますが、ダウンロードする方法もあります。他にも、豊富なアニメーションが利用できますし、開始を遅延させたりもできます。公式サイトは英語ですが、難易度は低いと思われますので、ご興味があればご確認下さい。
  • 画像はクラウド上に保存してるものを読み込んでいますが、ローカルに保存している場合等、適宜ファイルの場所を変更してください。
  • {overflow: hidden;}は、画像を収めているセレクター(box)に設定してください。その外側のセレクター(box)に設定してしまうと、押しピンもはみ出だ部分が切れてしまいます。

タイトルとURLをコピーしました