Bootstrap 5 弹出框

弹出框

弹出框控件类似于提示框,它在鼠标点击到元素后显示,与提示框不同的是它可以显示更多的内容。


如何创建弹出框

通过向元素添加 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 属性来设定弹出框显示的方向: top, bottom, left 或 right:

实例

<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 me</a>
亲自试一试 »

悬停式弹出框

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

实例

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