Bootstrap 5 模态框

模态框

模态框是一个对话框/弹出窗口,显示在当前页面的顶部。

模态框(Modal)是覆盖在父窗体上的子窗体。通常,目的是显示来自一个单独的源的内容,可以在不离开父窗体的情况下有一些互动。子窗体可提供信息交互等。


如何创建模态框

以下实例创建了一个简单的模态框效果:

实例

<!-- 按钮打开模态 -->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#myModal">
  Open modal
</button>

<!-- 模态 -->
<div class="modal" id="myModal">
  <div class="modal-dialog">
    <div class="modal-content">

      <!-- 模态标题 -->
      <div class="modal-header">
        <h4 class="modal-title">Modal Heading</h4>
        <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
      </div>

      <!-- 模态主体 -->
      <div class="modal-body">
        Modal body..
      </div>

      <!-- 模态页脚 -->
      <div class="modal-footer">
        <button type="button" class="btn btn-danger" data-bs-dismiss="modal">Close</button>
      </div>

    </div>
  </div>
</div>
亲自试一试 »

添加动画

使用 .fade 类可以设置模态框弹出或关闭的效果:

实例

<!-- Fading modal -->
<div class="modal fade"></div>

<!-- 没有动画的模态 -->
<div class="modal"></div>
亲自试一试 »


模态框尺寸

我们可以通过添加 .modal-sm 类来创建一个小模态框 (max-width 300px), .modal-lg 类可以创建一个大模态框(max-width 800px) .modal-xl 适用于超大模态框(max-width 1140px)。 默认值为最大宽度500px。

尺寸类放在 <div> 元素的 .modal-dialog 类后:

小模态框

<div class="modal-dialog modal-sm">
亲自试一试 »

大模态框

<div class="modal-dialog modal-lg">
亲自试一试 »

超大模态框

<div class="modal-dialog modal-xl">
亲自试一试 »

默认情况下,模态框的大小为"medium"(最大宽度为500px)。


全屏幕显示

使用 .modal-fullscreen 类可以让模态框全屏幕显示:

实例

<div class="modal-dialog modal-fullscreen">
亲自试一试 »

响应式全屏模态

使用 .modal-fullscreen-*-* 类可以控制在什么尺寸下全屏幕显示:

描述 实例
.modal-fullscreen-sm-down 576px 以下尺寸全屏幕显示 测试一下
.modal-fullscreen-md-down 768px 以下尺寸全屏幕显示 测试一下
.modal-fullscreen-lg-down 992px 以下尺寸全屏幕显示 测试一下
.modal-fullscreen-xl-down 1200px 以下尺寸全屏幕显示 测试一下
.modal-fullscreen-xxl-down 1400px 以下尺寸全屏幕显示 测试一下

模态框居中显示

使用 .modal-dialog-centered 类可以设置模态框水平和垂直方向都居中显示:

实例

<div class="modal-dialog modal-dialog-centered">
亲自试一试 »

模态框滚动条

默认情况下模态框如果包含很多内容,页面会自动生成一个滚动,模态框随着页面的滚动而滚动:

实例

<div class="modal-dialog">
亲自试一试 »

如果我们只想在模态框里头设置一个滚动条,可以使用 .modal-dialog-scrollable:

实例

<div class="modal-dialog modal-dialog-scrollable">
亲自试一试 »