基本のポップオーバーを作る方法【HTML/CSS/JavaScript・サンプルコード付き】

ポップオーバー
無料ツール
ポップオーバーを自由に作成

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

ポップオーバー作成ツールを使う
新しいタブで開きます

基本のポップオーバーを作る方法

基本のポップオーバーを作る方法を紹介します。このサンプルでは、ボタンをクリックすると補足情報を表示し、もう一度クリックすると閉じるシンプルなポップオーバーをHTML・CSS・JavaScriptで実装します。画面遷移を行わずに必要な情報だけを表示できるため、説明文や注意事項、補足情報などをコンパクトに表示したい場面で便利です。

管理画面のヘルプ表示、お問い合わせフォームの入力補足、ECサイトの商品説明、会員サイトの設定画面など、必要な情報だけを一時的に表示したい場面で活用できます。ポップオーバーはボタンの近くへ表示されるため、利用者は現在の画面を離れることなく内容を確認できます。クリック操作だけで開閉できるため、初心者にも分かりやすいUIとして利用できます。

タイトル、説明文、ボタンの文字、ポップオーバー内の文章はHTMLから変更でき、CSSでは背景色、文字色、余白、角丸、影、横幅などを調整できます。JavaScriptはポップオーバーの開閉処理のみを担当しているため、シンプルな構成で導入しやすく、レスポンシブにも対応した基本的なポップオーバーのサンプルとして利用できます。

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

デモ

基本のポップオーバー

ボタンをクリックするとポップオーバーが表示されます。

こちらは基本的なポップオーバーです。補足情報や説明文を表示できます。

ボタンをクリックすると、ボタンの下にポップオーバーが表示されます。もう一度クリックすると閉じます。

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

<!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="basic-popover_wrap">

    <!-- タイトル -->
    <div class="basic-popover_title">
      基本のポップオーバー
    </div>

    <!-- 説明文 -->
    <p class="basic-popover_text">
      ボタンをクリックするとポップオーバーが表示されます。
    </p>

    <!-- ボタンとポップオーバー -->
    <div class="basic-popover_area">

      <!-- 表示ボタン -->
      <button
        class="basic-popover_button"
        id="basic-popover-button"
        type="button">
        ポップオーバーを表示
      </button>

      <!-- ポップオーバー -->
      <div
        class="basic-popover_popup"
        id="basic-popover-popup">
        こちらは基本的なポップオーバーです。補足情報や説明文を表示できます。
      </div>

    </div>

  </div>

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

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

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

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

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

ファイル構成と設置方法

このサンプルはHTML・CSS・JavaScriptの3ファイルで構成されています。HTMLではポップオーバーを表示するボタンと補足情報を作成し、CSSではボタンのデザインやポップオーバーの位置、横幅、余白、吹き出し部分などを設定します。JavaScriptではボタンのクリックを検知し、ポップオーバーの表示・非表示を切り替えます。

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

各ファイルの役割
index.htmlはポップオーバー全体を構成するファイルです。「基本のポップオーバー」のタイトル、説明文、表示ボタン、ポップオーバー内の文章を変更できます。

style.cssはポップオーバー全体と表示ボタンのデザインを設定するファイルです。全体の横幅や余白、ボタンの大きさや色、ポップオーバーの横幅、表示位置、背景色、枠線、角丸、影などを変更できます。ポップオーバー上部の三角形もCSSの疑似要素で作成しています。

script.jsはポップオーバーの表示・非表示を切り替えるファイルです。表示ボタンをクリックするとshowクラスを付け外しし、ポップオーバーを表示または非表示にします。

設置方法・使い方
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 220px;
ポップオーバー全体の外側余白です。40pxを変更すると上側の余白が変わり、220pxを変更するとポップオーバーを表示するために確保する下側の余白が変わります。

padding:32px;
ポップオーバー全体の内側余白です。値を大きくすると内容と枠線の間隔が広がり、小さくすると狭くなります。

border-radius:18px;
ポップオーバー全体の角丸です。値を大きくすると丸みが強くなり、0にすると四角になります。

font-size:22px;
タイトルの文字サイズです。値を大きくするとタイトルが大きくなり、小さくすると小さくなります。

padding:14px 28px;
表示ボタンの内側余白です。14pxを変更すると上下方向、28pxを変更すると左右方向の余白が変わり、ボタンの大きさを調整できます。

border-radius:10px;
表示ボタンの角丸です。値を大きくすると丸みが強くなり、0にすると四角になります。

font-size:16px;
表示ボタンの文字サイズです。値を大きくすると文字が大きくなり、小さくすると小さくなります。

top:calc(100% + 18px);
ボタンとポップオーバーの間隔です。18pxを大きくするとボタンから下方向へ離れ、小さくするとボタンへ近づきます。

width:300px;
ポップオーバーの横幅です。値を大きくすると横に広がり、小さくするとコンパクトになります。

padding:18px;
ポップオーバーの内側余白です。値を大きくすると文章と枠線の間隔が広がり、小さくすると狭くなります。

border-radius:12px;
ポップオーバーの角丸です。値を大きくすると丸みが強くなり、0にすると四角になります。

box-shadow:0 12px 30px ...
ポップオーバーの影です。12pxを変更すると影の縦方向の位置が変わり、30pxを変更すると影のぼかし範囲が変わります。

top:-8px;
吹き出しの三角形を配置する上下位置です。値を変更するとポップオーバー上端に対する三角形の位置が変わります。

width:16px;・height:16px;
吹き出しの三角形を作る疑似要素の大きさです。値を大きくすると三角形が大きくなり、小さくすると小さくなります。

レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssのwidth:100%とmax-width:700pxによって、画面幅に合わせて全体の横幅が縮小されます。また、640px以下では全体の内側余白を24px 18px、下側の余白を240px、ポップオーバーの横幅を260pxへ変更しているため、スマートフォン・タブレット・PCで利用できます。


こちらもおすすめ


コメント