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">
        模态主体 ..
      </div>

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

    </div>
  </div>
</div>

亲自试一试

添加动画

请使用 .fade 类在打开和关闭模态时添加淡入淡出效果:

实例

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

<!-- Modal without animation -->
<div class="modal"></div>

亲自试一试

模态尺寸

通过为小模态添加 .modal-sm 类(max-width 300px)、为大型模态添加 .modal-lg 类(max-width 800px)或为超大模态添加 .modal-xl 来更改模态的大小(max-width 1140 像素)。默认为 500 像素最大宽度。

请将 .modal-dialog 类与尺寸类一同添加到 <div> 元素:

Small Modal

<div class="modal-dialog modal-sm">

亲自试一试

Large Modal

<div class="modal-dialog modal-lg">

亲自试一试

Extra Large Modal

<div class="modal-dialog modal-xl">

亲自试一试

默认情况下,模态的大小为 "medium"(500px max-width)。

全屏模态

如果您希望模态跨越页面的整个宽度和高度,请使用 .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-centric 类,在页面内垂直和水平居中模态:

实例

<div class="modal-dialog modal-dialog-centered">

亲自试一试

滚动模态

当模态中有很多内容时,会向页面添加一个滚动条。请看下面的例子来理解:

实例

<div class="modal-dialog">

亲自试一试

但是,通过将 .modal-dialog-scrollable 添加到 .modal-dialog 可以只在模态内滚动,而不是页面本身:

实例

<div class="modal-dialog modal-dialog-scrollable">

亲自试一试