Bootstrap5 ポップアップボックス

Bootstrap5 弹出框

この記事では、Bootstrap5 のポップオーバー (Popover) コンポーネントの使い方について解説します。ポップオーバーの作成方法、スタイルと動作のカスタマイズ方法などを説明します。


目次

  1. Bootstrap ポップオーバー
  2. ポップオーバーの作成
  3. ポップオーバーのオプション
  4. ポップオーバーのメソッド
  5. HTML を使用する方法
  6. JavaScript を使用する方法
  7. オプション一覧
  8. メソッド一覧

1. Bootstrap ポップオーバー

ポップオーバーは、マウスを要素にホバーしたり、クリックしたりしたときに、追加情報を表示するために使用します。ポップオーバーを使用するには、Tooltip プラグインを導入する必要があります。

2. ポップオーバーの作成

ポップオーバーは、data 属性または JavaScript を使用して作成できます。

2.1 data 属性を使用する方法

以下の data 属性を使用して、ポップオーバーを作成できます。

  • data-bs-toggle="popover": ポップオーバーを有効にします。
  • data-bs-content="ポップオーバーの内容": ポップオーバーの内容を設定します。
  • title 属性: ポップオーバーのタイトルを設定します。
<button type="button" class="btn btn-lg btn-danger" data-bs-toggle="popover" title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>

2.2 JavaScript を使用する方法

JavaScript を使用してポップオーバーを作成するには、次のコードを使用します。

<button type="button" class="btn btn-secondary" id="popover-button">Popover on top</button>

<script>
  var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
  var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
    return new bootstrap.Popover(popoverTriggerEl)
  })
</script>

3. ポップオーバーのオプション

ポップオーバーのオプションは、data 属性または JavaScript オブジェクトを使用して設定できます。

3.1 data 属性を使用する方法

data 属性を使用してオプションを設定するには、属性名のプレフィックスとして data-bs- を使用します。たとえば、animation オプションを false に設定するには、data-bs-animation="false" を使用します。

3.2 JavaScript オブジェクトを使用する方法

JavaScript オブジェクトを使用してオプションを設定するには、ポップオーバーのコンストラクタに関数を渡します。

var myPopover = new bootstrap.Popover(document.getElementById('myPopover'), {
  animation: false
})

4. ポップオーバーのメソッド

ポップオーバーのメソッドは、JavaScript を使用してポップオーバーの動作を制御するために使用します。

主なメソッドを以下の表に示します。

メソッド 説明
show ポップオーバーを表示します。
hide ポップオーバーを非表示にします。
toggle ポップオーバーの表示状態を切り替えます。
dispose ポップオーバーを破棄します。
enable ポップオーバーを有効にします。
disable ポップオーバーを無効にします。
toggleEnabled ポップオーバーの有効状態を切り替えます。
update ポップオーバーの位置と内容を更新します。

5. HTML を使用する方法

以下は、HTML を使用してポップオーバーを作成する例です。

<button type="button" class="btn btn-primary" data-bs-toggle="popover" title="Popover title" data-bs-content="Popover content">
  Click me
</button>

6. JavaScript を使用する方法

以下は、JavaScript を使用してポップオーバーを作成する例です。

<button type="button" class="btn btn-primary" id="myPopover">
  Click me
</button>

<script>
  var popover = new bootstrap.Popover(document.getElementById('myPopover'), {
    title: 'Popover title',
    content: 'Popover content'
  });
</script>

7. オプション一覧

オプション 説明 デフォルト値
animation CSS3 アニメーションを使用するかどうか。 true
container ポップオーバーの親要素。 false
delay ポップオーバーの表示と非表示の遅延時間 (ミリ秒)。 0
html ポップオーバーの内容に HTML コードを含めることができるかどうか。 false
placement ポップオーバーの配置。 'top'
selector ポップオーバーをトリガーする要素。 false
template ポップオーバーの HTML 構造をカスタマイズするためのテンプレート。 '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
trigger ポップオーバーの表示をトリガーするイベント。 'click'
content ポップオーバーの内容。 ''
title ポップオーバーのタイトル。 ''
sanitize ポップオーバーの内容をサニタイズするかどうか。 true

8. メソッド一覧

メソッド 説明
show ポップオーバーを表示します。 myPopover.show()
hide ポップオーバーを非表示にします。 myPopover.hide()
toggle ポップオーバーの表示状態を切り替えます。 myPopover.toggle()
dispose ポップオーバーを破棄します。 myPopover.dispose()
enable ポップオーバーを有効にします。 myPopover.enable()
disable ポップオーバーを無効にします。 myPopover.disable()
toggleEnabled ポップオーバーの有効状態を切り替えます。 myPopover.toggleEnabled()
update ポップオーバーの位置と内容を更新します。 myPopover.update()

よくある質問

  1. Q: ポップオーバーの内容に HTML コードを含めることはできますか?
    A: はい、html オプションを true に設定することで、ポップオーバーの内容に HTML コードを含めることができます。
  2. Q: ポップオーバーの表示位置を変更するにはどうすればよいですか?
    A: placement オプションを使用して、ポップオーバーの表示位置を変更できます。使用可能な値は、'top''bottom''left''right' です。
  3. Q: ポップオーバーの表示をトリガーするイベントを変更するにはどうすればよいですか?
    A: trigger オプションを使用して、ポップオーバーの表示をトリガーするイベントを変更できます。使用可能な値は、'click''hover''focus''manual' です。