画像ギャラリーをモーダルウインドウで表示する方法【HTML/CSS/JavaScript・サンプルコード付き】

html/css/js

画像ギャラリーをモーダルウインドウで表示する方法

HTML・CSS・JavaScriptを使って、画像ギャラリーをモーダルウインドウで表示する方法を紹介します。このサンプルでは、サムネイル画像をクリックすると拡大画像をモーダル内に表示でき、背景クリックや閉じるボタンで簡単に閉じられます。ポートフォリオサイトや商品一覧、作品紹介ページなどで画像を見やすく表示したい場合に便利です。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。

デモ

コードをコピーして使おう!

<!DOCTYPE html>
<html lang="ja">
<head>

  <meta charset="UTF-8">

  <!-- ページタイトル -->
  <title>画像ギャラリーをモーダルで表示</title>

  <!-- CSS読み込み -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- ギャラリーエリア -->
  <div class="image-gallery-modal-window_wrap">

    <div class="image-gallery-modal-window_title">
      画像ギャラリー
    </div>

    <p class="image-gallery-modal-window_text">
      サムネイル画像をクリックすると、モーダル内に拡大表示します。
    </p>

    <div class="image-gallery-modal-window_gallery">

      <!-- 1枚目の画像 -->
      <button class="image-gallery-modal-window_thumb" type="button" data-modal-image="https://picsum.photos/seed/gal1/600/400">

        <img src="https://picsum.photos/seed/gal1/600/400" alt="森と湖(サンプル1)">

      </button>

      <!-- 2枚目の画像 -->
      <button class="image-gallery-modal-window_thumb" type="button" data-modal-image="https://picsum.photos/seed/gal2/600/400">

        <img src="https://picsum.photos/seed/gal2/600/400" alt="夕焼けの海(サンプル2)">

      </button>

      <!-- 3枚目の画像 -->
      <button class="image-gallery-modal-window_thumb" type="button" data-modal-image="https://picsum.photos/seed/gal3/600/400">

        <img src="https://picsum.photos/seed/gal3/600/400" alt="街並みの夜景(サンプル3)">

      </button>

    </div>

  </div>

  <!-- モーダル全体 -->
  <div class="image-gallery-modal-window_overlay" data-modal-overlay>

    <!-- モーダル本体 -->
    <div class="image-gallery-modal-window_modal" role="dialog" aria-modal="true">

      <!-- 拡大画像表示エリア -->
      <img class="image-gallery-modal-window_large" src="" alt="拡大画像" data-modal-large-image>

      <!-- 閉じるボタン -->
      <button class="image-gallery-modal-window_close" type="button" data-modal-close>
        閉じる
      </button>

    </div>

  </div>

  <!-- JavaScript読み込み -->
  <script src="script.js"></script>

</body>
</html>

ファイル構成と設置方法

このサンプルは、HTML・CSS・JavaScriptをそれぞれ別ファイルに分けて使用します。index.htmlstyle.cssscript.js を同じフォルダに配置してください。

sample/
├── index.html
├── style.css
└── script.js
  

index.html をブラウザで開くと、サムネイル画像をクリックしたときにモーダル内へ拡大画像を表示できます。画像URLを変更したい場合は、index.html 内の srcdata-modal-image の値を変更してください。


コメント