跳至主要内容

布局

使用我们的表单布局选项,为您的表单提供一些结构 - 从内联到水平再到自定义网格实现。

表单

每组表单字段都应该位于 <Form> 元素中。Bootstrap 不会为 <Form> 元素提供默认样式,但默认情况下会提供一些强大的浏览器功能。

  • 浏览器表单新手?考虑查看 MDN 表单文档 以获取概述和可用属性的完整列表。
  • <Form> 中的 <button> 默认情况下为 type="submit",因此要努力做到具体,并始终包含 type
  • 您可以通过将所有控件包装在 <fieldset> 中并在其上设置 disabled 属性来禁用表单中的所有控件。

由于 Bootstrap 将 display: blockwidth: 100% 应用于几乎所有我们的表单控件,因此表单默认情况下会垂直堆叠。可以使用其他类来根据每个表单的基础改变此布局。

表单组

FormGroup 组件是为表单添加一些结构的最简单方法。它为标签、控件、可选帮助文本和表单验证消息的组合提供了一个灵活的容器。将其与 fieldsetdiv 或几乎任何其他元素一起使用。

您还可以添加 controlId 道具,通过 id 可访问地将嵌套的标签和输入连接在一起。

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

表单网格

可以使用网格组件构建更复杂的表单。将它们用于需要多列、不同宽度和额外对齐选项的表单布局。

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

也可以使用网格系统创建更复杂的布局。

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

水平表单

通过将 as={Row} 添加到表单组并使用 Col 指定标签和控件的宽度,使用网格创建水平表单。请务必将 column 属性添加到您的 FormLabel 中,以便它们与关联的表单控件垂直居中。

有时,您可能需要使用边距或填充实用程序来创建所需的完美对齐。例如,我们已从堆叠的单选输入标签中删除了 padding-top,以更好地对齐文本基线。

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

水平表单标签大小

您可以使用 column 属性调整 <FormLabel> 的大小,如所示。

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

列大小

如前面的示例所示,我们的网格系统允许您在 <Row> 中放置任意数量的 <Col>。它们将在它们之间平均分配可用宽度。您也可以选择一部分列来占用更多或更少的空间,而其余 <Col> 将平均分配剩余空间,使用特定的列类,例如 <Col xs={7}>

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

自动调整大小

下面的示例使用 flexbox 实用程序垂直居中内容,并将 <Col> 更改为 <Col xs="auto">,以便您的列仅占用所需的空间。换句话说,列根据内容自行调整大小。

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

然后,您可以使用特定大小的列类再次对其进行混合。

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

API

FormGroup