最初から表示されているモーダルウインドウの作り方【HTML/CSS/JavaScript・サンプルコード付き】

モーダルウインドウ
無料ツール
モーダルウインドウを自由に作成

テキスト・表示ボタン・サイズ・余白・角丸・背景色・文字色・影などを設定して、HTML・CSS・JavaScriptを自動生成できます。

モーダルウインドウ作成ツールを使う
新しいタブで開きます

最初から表示されているモーダルウインドウの作り方

ページを開いた時点で最初から表示されているモーダルウインドウの作り方を紹介します。通常のモーダルウインドウはボタンをクリックしてから表示しますが、このサンプルではページを読み込んだ直後から画面中央にモーダルウインドウが表示された状態にします。「閉じる」ボタンをクリックするとモーダルウインドウが非表示になり、その後は通常のページを確認できます。

最初から表示するモーダルウインドウは、サイトを訪れたユーザーへ重要なお知らせや案内を最初に見せたい場合に利用できます。キャンペーンのお知らせ、サービス内容の変更、メンテナンス情報、利用時の注意事項など、ページを閲覧する前に確認してほしい情報を表示するUIとして活用できます。

このサンプルでは基本のモーダルウインドウを維持し、背景を暗くするオーバーレイや×ボタン、外側クリックによる閉じる処理、開閉アニメーションは使用しません。HTMLではモーダルウインドウを通常の表示状態で用意し、JavaScriptでは「閉じる」ボタンをクリックしたときだけ非表示へ切り替えます。画面幅640px以下では余白を小さくして、スマートフォンでも表示しやすいように調整します。

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

デモ

最初から表示されるモーダル

ページを開いた時点で、モーダルウインドウが表示されています。

ページを開いた時点でモーダルウインドウが表示されます。「閉じる」をクリックすると非表示になります。再確認する場合は「もう一度確認する」をクリックしてください。

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

<!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="initial-visible-modal-window_wrap">

    <!-- タイトル -->
    <div class="initial-visible-modal-window_title">
      最初から表示されるモーダル
    </div>

    <!-- 説明文 -->
    <p class="initial-visible-modal-window_text">
      ページを開いた時点で、モーダルウインドウが表示されています。
    </p>

  </div>

  <!-- 最初から表示されているモーダルウインドウ -->
  <div class="initial-visible-modal-window_modal" id="initial-visible-modal-window-modal" role="dialog" aria-modal="true" aria-labelledby="initial-visible-modal-window-title">

    <!-- モーダルタイトル -->
    <div class="initial-visible-modal-window_modal-title" id="initial-visible-modal-window-title">
      モーダルタイトル
    </div>

    <!-- モーダル説明文 -->
    <p class="initial-visible-modal-window_modal-text">
      こちらはページを開いた時点で表示されるモーダルウインドウです。
    </p>

    <!-- 閉じるボタン -->
    <button class="initial-visible-modal-window_close" id="initial-visible-modal-window-close" type="button">
      閉じる
    </button>

  </div>

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

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

コードをコピーする場合 使用するコードのタブを選び、「このタブをコピー」をクリックすると、現在表示中のコードをコピーできます。 サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。
Q ダウンロードしたけど、これをネット上で動かすにはどうするの?
A

Googleアカウントがあれば、InfinityFreeで無料サーバーを作成して、ダウンロードしたサンプルをネット上で動かせます。

InfinityFreeを初めて利用する場合は①から、すでにサーバーを作成している場合は②へ進んでください。

ファイル構成と設置方法

このサンプルはHTML・CSS・JavaScriptの3ファイルで構成されています。通常のモーダルウインドウのように開くボタンから表示するのではなく、ページを開いた時点からモーダルウインドウを表示しておき、「閉じる」をクリックしたときだけ非表示へ切り替える構成です。

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

各ファイルの役割
index.htmlはページの表示内容と、最初から表示するモーダルウインドウを構成するファイルです。モーダルウインドウにはタイトル、説明文、「閉じる」ボタンを配置しています。

style.cssはデモ表示エリアとモーダルウインドウのデザインを設定するファイルです。initial-visible-modal-window_modalを最初からdisplay:blockにすることで、ページを開いた時点からモーダルウインドウが表示されます。背景を暗くするオーバーレイや開閉アニメーションは使用していません。

script.jsは「閉じる」ボタンをクリックしたときの処理を行うファイルです。クリックするとモーダルウインドウへis-hiddenクラスを追加し、display:noneへ切り替えて非表示にします。

設置方法・使い方
sampleフォルダへindex.html、style.css、script.jsを配置します。3つのファイルを同じ階層へ保存したあと、sample/index.htmlをブラウザで開いてください。index.htmlからstyle.cssとscript.jsが読み込まれます。ページを開くための操作だけでモーダルウインドウが最初から画面中央に表示され、「閉じる」をクリックすると非表示になります。

カスタマイズできる内容
index.htmlではモーダルタイトルや説明文、「閉じる」ボタンの文字を変更できます。style.cssではモーダルウインドウの最大横幅、内側余白、角丸、背景色、影などを変更できます。ページを開いた直後に重要なお知らせや案内を表示したい場合は、モーダル内のタイトルと説明文を用途に合わせて変更してください。

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

margin:40px auto;
デモ表示エリアの上下余白です。40pxを大きくすると上下の間隔が広がり、小さくすると狭くなります。

padding:32px;
デモ表示エリアの内側余白です。値を大きくすると内容と枠線の間隔が広がり、小さくすると狭くなります。

border-radius:18px;
デモ表示エリアとモーダルウインドウの角丸です。値を大きくすると丸みが強くなり、小さくすると角に近づきます。

width:calc(100% - 40px);
モーダルウインドウの横幅です。画面幅から40pxを引くことで左右に余白を確保しています。40pxを大きくすると左右の余白が広がり、小さくするとモーダルが画面端へ近づきます。

max-width:420px;
モーダルウインドウの最大横幅です。値を大きくするとモーダルが横に広がり、小さくするとコンパクトになります。

padding:28px;
モーダルウインドウの内側余白です。値を大きくすると内容とモーダル外周の間隔が広がり、小さくすると狭くなります。

margin:0 0 12px;
モーダルタイトルの下側余白です。12pxを大きくするとタイトルと説明文の間隔が広がり、小さくすると狭くなります。

margin:0 0 24px;
モーダル説明文の下側余白です。24pxを大きくすると説明文と「閉じる」ボタンの間隔が広がり、小さくすると狭くなります。

padding:10px 20px;
「閉じる」ボタンの内側余白です。上下の10pxを大きくするとボタンが高くなり、左右の20pxを大きくすると横に広がります。

レスポンシブ対応
このサンプルはレスポンシブ対応です。モーダルウインドウにはwidth:calc(100% - 40px)とmax-width:420pxを設定しているため、広い画面では最大420pxで表示され、画面幅が狭くなると左右に余白を残しながら縮小します。また、640px以下ではデモ表示エリアをpadding:24px 18px;、モーダルウインドウをpadding:24px 18px;へ変更し、スマートフォンでも内容を確認しやすいようにしています。


こちらもおすすめ


コメント