Bootstrap 5 弹出框

弹出框

弹出框(Popover)组件类似于工具提示;它是一种弹出框,当用户点击元素时出现。不同之处在于弹出框可以包含更多内容。

如何创建弹出框

如需创建弹出框,请将 data-bs-toggle="popover" 属性添加到元素。

请使用 title 属性规定弹出框的标题文本,并使用 data-bs-content 属性规定在弹出框正文中显示的文本:

<button type="button" class="btn btn-primary" data-bs-toggle="popover" title="弹出框标题" data-bs-content="弹出框内的一些内容">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>

亲自试一试

注意:如果没有足够的空间,placement 属性将不会按您的预期工作。例如:如果您在页面顶部(无预留空间)使用 top placement 属性,它将改为在元素下方或右侧(任何有空间的地方)显示弹出框。

关闭弹出框

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

实例

<a href="#" title="Dismissible popover" data-bs-toggle="popover" data-bs-trigger="focus" data-bs-content="单击文档中的任意位置可关闭此弹出窗口">点击我</a>

亲自试一试

悬停弹出框

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

实例

<a href="#" title="Header" data-bs-toggle="popover" data-bs-trigger="hover" data-bs-content="弹出框文本">请在我上方悬停</a>

亲自试一试