閉じるボタンで閉じられるモーダルウインドウの作り方【HTML/CSS/JavaScript・サンプルコード付き】

モーダルウインドウ

閉じるボタンで閉じられるモーダルウインドウの作り方

閉じるボタンで閉じられるモーダルウインドウの作り方を紹介します。このサンプルでは、「モーダルを開く」ボタンをクリックすると画面全体へ半透明のオーバーレイが表示され、その中央にモーダルウインドウが開きます。モーダル内に配置した「閉じる」ボタンをクリックすると、オーバーレイとモーダルがまとめて非表示になります。

お問い合わせ画面の確認案内、会員サイトのお知らせ、ECサイトのキャンペーン情報、管理画面の注意事項など、現在のページを離れずに利用者へ情報を表示したい場面で活用できます。背景を暗くしてモーダルへ視線を集めるため、通常のページ内メッセージよりも内容を分かりやすく伝えられます。

モーダルのタイトル、説明文、表示ボタン、閉じるボタンの文字はHTMLから変更できます。CSSではモーダルの横幅、余白、背景色、角丸、影、オーバーレイの色などを調整でき、JavaScriptでは表示用クラスの追加と削除によって開閉を管理します。レスポンシブにも対応しているため、スマートフォン・タブレット・PCで利用できます。

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

デモ

閉じるボタンで閉じられるモーダルウインドウ

ボタンをクリックするとモーダルウインドウが表示されます。

「モーダルを開く」をクリックすると表示され、モーダル内の「閉じる」をクリックすると閉じます。

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

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

  <!-- 文字コード -->
  <meta charset="UTF-8">

  <!-- スマートフォン対応 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- ページタイトル -->
  <title>閉じるボタンで閉じられるモーダルウインドウ</title>

  <!-- CSSファイルを読み込み -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- モーダル表示エリア -->
  <div class="close-button-modal-window_wrap">

    <!-- タイトル -->
    <div class="close-button-modal-window_title">
      閉じるボタンで閉じられるモーダルウインドウ
    </div>

    <!-- 説明文 -->
    <p class="close-button-modal-window_text">
      ボタンをクリックするとモーダルウインドウが表示されます。
    </p>

    <!-- モーダルを開くボタン -->
    <button
      class="close-button-modal-window_open"
      type="button"
      data-close-button-modal-open="">
      モーダルを開く
    </button>

  </div>

  <!-- 画面全体を覆うオーバーレイ -->
  <div
    class="close-button-modal-window_overlay"
    data-close-button-modal-overlay="">

    <!-- モーダルウインドウ -->
    <div
      class="close-button-modal-window_modal"
      role="dialog"
      aria-modal="true"
      aria-labelledby="close-button-modal-window-title">

      <!-- モーダルタイトル -->
      <div
        class="close-button-modal-window_modal-title"
        id="close-button-modal-window-title">
        お知らせ
      </div>

      <!-- モーダル本文 -->
      <p class="close-button-modal-window_modal-text">
        閉じるボタンをクリックすると、このモーダルウインドウを閉じられます。
      </p>

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

    </div>

  </div>

  <!-- JavaScriptファイルを読み込み -->
  <script src="script.js"></script>

</body>
</html>
コードをコピーする場合 使用するコードのタブを選び、「このタブをコピー」をクリックすると、現在表示中のコードをコピーできます。
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。

ファイル構成と設置方法

このサンプルはHTML・CSS・JavaScriptの3ファイルで構成されています。HTMLではモーダルウインドウ本体と表示・閉じるボタンを配置し、CSSではモーダルや背景、ボタンのデザインを設定します。JavaScriptではボタンをクリックしたときにモーダルを表示・非表示へ切り替える処理を行います。シンプルな構成なので、初心者でも仕組みを理解しながら導入しやすいサンプルです。

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

各ファイルの役割
index.htmlはモーダルウインドウ全体を構成するファイルです。タイトル、説明文、「モーダルを開く」ボタン、「閉じる」ボタンの文字を変更できます。

style.cssはモーダルの横幅、背景色、文字色、余白、角丸、影、ボタンのデザイン、背景のオーバーレイなど見た目全体を設定します。

script.jsはモーダルを開くボタンをクリックするとモーダルを表示し、閉じるボタンをクリックするとモーダルを非表示にする処理を記述します。

設置方法・使い方
sampleフォルダへindex.html、style.css、script.jsを配置します。3つのファイルを同じ階層へ保存したあと、sample/index.htmlをブラウザで開いてください。「モーダルを開く」をクリックするとモーダルが表示され、「閉じる」をクリックするとモーダルを閉じることができます。

カスタマイズできる内容
index.htmlではタイトル、説明文、ボタンの文字を変更できます。用途に合わせて、お知らせ、確認画面、利用規約、キャンペーン案内などさまざまな内容へ変更できます。

style.cssではモーダルの横幅、背景色、文字色、余白、角丸、影、ボタンの色、背景の暗さなどを自由に変更できます。script.jsでは表示・非表示の処理をそのまま利用でき、必要に応じて他のボタンへも適用できます。

数値調整
style.css
max-width:700px;
デモ全体の最大横幅です。値を大きくすると横に広がり、小さくするとコンパクトになります。

padding:32px;
デモ全体の内側余白です。値を大きくすると余白が広がり、小さくすると詰まった表示になります。

max-width:420px;
モーダルの最大横幅です。値を大きくするとモーダルが横に広がり、小さくすると細くなります。

padding:28px;
モーダル内の余白です。値を大きくすると文字やボタンとの間隔が広がります。

border-radius:18px;
モーダルの角丸です。値を大きくすると丸みが強くなり、小さくすると四角い印象になります。

box-shadow:0 20px 40px rgba(0,0,0,.2);
モーダルの影です。数値を変更すると影の広がりや濃さを調整できます。

レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssのwidth:100%max-widthにより画面幅に応じてモーダルが縮小されます。また、640px以下ではpadding:24px 18px;へ変更して余白を調整しているため、スマートフォン・タブレット・PCで利用できます。


こちらもおすすめ


コメント