跳至主要内容

模态框

为您的网站添加对话框,用于灯箱、用户通知或完全自定义内容。

概述

  • 模态框位于文档中的所有其他内容之上,并从<body>中移除滚动,以便模态框内容滚动。
  • 模态框在关闭时会卸载
  • Bootstrap 仅支持一次一个模态框窗口。不支持嵌套模态框,但如果您确实需要它们,基础@restart/ui库可以支持它们,如果您愿意。
  • 模态框会“捕获”它们中的焦点,确保键盘导航在模态框中循环,而不是页面上的其他地方。
  • 与原生 Bootstrap 不同,autoFocus 在模态框中有效,因为 React 处理实现。

示例

静态标记

下面是一个静态模态框对话框(没有定位),用于演示模态框的外观和感觉。

结果
正在加载...
实时编辑器

实时演示

一个带有标题、主体和一组操作的模态框。使用<Modal/>与其他组件结合使用,以显示或隐藏您的模态框。<Modal/>组件包含一些方便的“子组件”:<Modal.Header/><Modal.Title/><Modal.Body/><Modal.Footer/>,您可以使用它们来构建模态框内容。

结果
正在加载...
实时编辑器

静态背景

当背景设置为静态时,单击模态框外部不会关闭模态框。单击下面的按钮尝试一下。

结果
正在加载...
实时编辑器

无动画

模态框也可以没有动画。为此,将animation属性设置为false

结果
正在加载...
实时编辑器

垂直居中

您可以通过传递centered属性来垂直居中模态框。

结果
正在加载...
实时编辑器

使用网格

您可以在模态框中使用网格布局,在模态框内容中使用常规网格组件。

结果
正在加载...
实时编辑器

聚焦特定元素

您可以使用元素上的autoFocus属性将焦点放在模态框内的元素上。

结果
正在加载...
实时编辑器

可选大小

您可以使用size属性指定 Bootstrap 大或小模态框。

结果
正在加载...
实时编辑器

全屏模态框

您可以使用fullscreen属性使模态框全屏。指定断点将仅在低于断点大小的情况下将模态框设置为全屏。

结果
正在加载...
实时编辑器

使用自定义 CSS 调整模态框大小

您可以使用 `dialogClassName` 属性将自定义 CSS 应用于模态对话框 div。例如,使用自定义 CSS 类将宽度设置为 90%。

结果
正在加载...
实时编辑器

API

模态对话框

模态标题

模态标题

模态主体

模态页脚