Bootstrap5 弹出窗口


约夏克布丁

Popover 组件类似于工具提示;它是当用户单击某个元素时出现的弹出框。不同之处在于弹出窗口可以包含更多内容。


如何创建弹出窗口

要创建弹出窗口,请添加data-bs-toggle="popover"属性到一个元素。

使用title属性来指定弹出窗口的标题文本,并使用data-bs-content属性来指定应显示在弹出窗口主体内的文本:

<button type="button" class="btn btn-primary" data-bs-toggle="popover" title="Popover Header" data-bs-content="Some content inside the popover">Toggle popover</button>

笔记:弹出窗口必须使用 JavaScript 初始化才能工作。

以下代码将启用文档中的所有弹出窗口:

示例

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


定位弹出窗口

默认情况下,弹出窗口将显示在元素的右侧。

使用data-bs-placement属性来设置弹出框在元素顶部、底部、左侧或右侧的位置:

示例

<a href="#" title="Header" data-bs-toggle="popover" data-bs-placement="top" data-content="Content">Top</a>
<a href="#" title="Header" data-bs-toggle="popover" data-bs-placement="bottom" data-content="Content">Bottom</a>
<a href="#" title="Header" data-bs-toggle="popover" data-bs-placement="left" data-content="Content">Left</a>
<a href="#" title="Header" data-bs-toggle="popover" data-bs-placement="right" data-content="Content">Right</a>
亲自试一试 »

笔记:如果没有足够的空间,放置属性将无法按您的预期工作。例如:如果您在页面顶部使用顶部放置(没有空间放置它),它将改为在元素下方或右侧(无论有空间放置它)显示弹出框。


关闭弹出窗口

默认情况下,当您再次单击该元素时,弹出窗口将关闭。但是,您可以使用data-bs-trigger="focus"单击元素外部时将关闭弹出窗口的属性:

示例

<a href="#" title="Dismissible popover" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-content="Click anywhere in the document to close this popover">Click me</a>
亲自试一试 »

悬停弹出框

提示:如果您希望在将鼠标指针移动到元素上时显示弹出框,请使用data-bs-trigger值为“的属性hover”:

示例

<a href="#" title="Header" data-bs-toggle="popover" data-bs-trigger="hover" data-bs-content="Popover text">Hover over me</a>
亲自试一试 »