Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Bootstrap 5 Flex 布局


弹性盒模型

Bootstrap 3 和 Bootstrap 4 & 5 之间最大的区别在于 Bootstrap 5 现在使用 flexbox,而不是浮动来处理布局。

弹性盒布局模块使设计灵活的响应式布局结构变得更容易,而无需使用浮动或定位。如果您不熟悉 flex,您可以在我们的 CSS Flexbox 教程 中了解更多信息。

注意:Flexbox 在 IE9 及更早版本中不受支持。

如果您需要 IE8-9 支持,请使用 Bootstrap 3它是 Bootstrap 最稳定的版本,并且仍然得到团队支持进行关键错误修复和文档更改。但是,将不会添加任何新功能。

要创建 flexbox 容器并将直接子元素转换为 flex 项目,请使用 d-flex

示例

Flex 项目 1
Flex 项目 2
Flex 项目 3

示例

<div class="d-flex p-3 bg-secondary text-white">
  <div class="p-2 bg-info">Flex 项目 1</div>
  <div class="p-2 bg-warning">Flex 项目 2</div>
  <div class="p-2 bg-primary">Flex 项目 3</div>
</div>
自己试一试 »

要创建内联 flexbox 容器,请使用 d-inline-flex

示例

Flex 项目 1
Flex 项目 2
Flex 项目 3

示例

<div class="d-inline-flex p-3 bg-secondary text-white">
  <div class="p-2 bg-info">Flex 项目 1</div>
  <div class="p-2 bg-warning">Flex 项目 2</div>
  <div class="p-2 bg-primary">Flex 项目 3</div>
</div>
自己试一试 »

水平方向

使用 .flex-row 将 flex 项目水平显示(并排)。这是默认设置。

提示:使用 .flex-row-reverse 对齐水平方向。

示例

Flex 项目 1
Flex 项目 2
Flex 项目 3
Flex 项目 1
Flex 项目 2
Flex 项目 3

示例

<div class="d-flex flex-row bg-secondary">
  <div class="p-2 bg-info">Flex 项目 1</div>
  <div class="p-2 bg-warning">Flex 项目 2</div>
  <div class="p-2 bg-primary">Flex 项目 3</div>
</div>

<div class="d-flex flex-row-reverse bg-secondary">
  <div class="p-2 bg-info">Flex 项目 1</div>
  <div class="p-2 bg-warning">Flex 项目 2</div>
  <div class="p-2 bg-primary">Flex 项目 3</div>
</div>
自己试一试 »

垂直方向

使用 .flex-column 将 flex 项目垂直显示(彼此之上),或使用 .flex-column-reverse 反转垂直方向。

示例

Flex 项目 1
Flex 项目 2
Flex 项目 3
Flex 项目 1
Flex 项目 2
Flex 项目 3

示例

<div class="d-flex flex-column">
  <div class="p-2 bg-info">Flex 项目 1</div>
  <div class="p-2 bg-warning">Flex 项目 2</div>
  <div class="p-2 bg-primary">Flex 项目 3</div>
</div>

<div class="d-flex flex-column-reverse">
  <div class="p-2 bg-info">Flex 项目 1</div>
  <div class="p-2 bg-warning">Flex 项目 2</div>
  <div class="p-2 bg-primary">Flex 项目 3</div>
</div>
自己试一试 »


对齐内容

使用 .justify-content-* 类更改 flex 项目的对齐方式。有效的类是 start(默认)、endcenterbetweenaround

示例

Flex 项目 1
Flex 项目 2
Flex 项目 3
Flex 项目 1
Flex 项目 2
Flex 项目 3
Flex 项目 1
Flex 项目 2
Flex 项目 3
Flex 项目 1
Flex 项目 2
Flex 项目 3
Flex 项目 1
Flex 项目 2
Flex 项目 3

示例

<div class="d-flex justify-content-start">...</div>
<div class="d-flex justify-content-end">...</div>
<div class="d-flex justify-content-center">...</div>
<div class="d-flex justify-content-between">...</div>
<div class="d-flex justify-content-around">...</div>
自己试一试 »

填充/等宽

在 flex 项目上使用 .flex-fill 强制它们具有相等的宽度。

示例

Flex 项目 1
Flex 项目 2
Flex 项目 3

示例

<div class="d-flex">
  <div class="p-2 bg-info flex-fill">Flex 项目 1</div>
  <div class="p-2 bg-warning flex-fill">Flex 项目 2</div>
  <div class="p-2 bg-primary flex-fill">Flex 项目 3</div>
</div>
自己试一试 »

增长

在 flex 项目上使用 .flex-grow-1 以占用剩余的空间。在下面的示例中,前两个 flex 项目占用其必要空间,而最后一个项目占用剩余的可用空间。

示例

Flex 项目 1
Flex 项目 2
Flex 项目 3

示例

<div class="d-flex">
  <div class="p-2 bg-info">Flex 项目 1</div>
  <div class="p-2 bg-warning">Flex 项目 2</div>
  <div class="p-2 bg-primary flex-grow-1">Flex 项目 3</div>
</div>
自己试一试 »

提示:在 flex 项目上使用 .flex-shrink-1 使其在必要时收缩。


顺序

使用 .order 类更改特定 flex 项目的视觉顺序。有效的类是从 0 到 5,其中数字越小,优先级越高(order-1 显示在 order-2 之前,等等)。

示例

Flex 项目 1
Flex 项目 2
Flex 项目 3

示例

<div class="d-flex bg-secondary">
  <div class="p-2 bg-info order-3">Flex 项目 1</div>
  <div class="p-2 bg-warning order-2">Flex 项目 2</div>
  <div class="p-2 bg-primary order-1">Flex 项目 3</div>
</div>
自己试一试 »

自动边距

使用 .ms-auto(将项目推向右侧)或使用 .me-auto(将项目推向左侧)轻松地向 flex 项目添加自动边距。

示例

Flex 项目 1
Flex 项目 2
Flex 项目 3
Flex 项目 1
Flex 项目 2
Flex 项目 3

示例

<div class="d-flex bg-secondary">
  <div class="p-2 ms-auto bg-info">Flex 项目 1</div>
  <div class="p-2 bg-warning">Flex 项目 2</div>
  <div class="p-2 bg-primary">Flex 项目 3</div>
</div>

<div class="d-flex bg-secondary">
  <div class="p-2 bg-info">Flex 项目 1</div>
  <div class="p-2 bg-warning">Flex 项目 2</div>
  <div class="p-2 me-auto bg-primary">Flex 项目 3</div>
</div>

自己试一试 »

换行

使用 .flex-nowrap(默认)、.flex-wrap.flex-wrap-reverse 控制 flex 项目在 flex 容器中的换行方式。

单击下面的按钮,通过更改示例框中 flex 项目的换行方式,查看这三个类之间的区别。

示例

Flex 项目 1
Flex 项目 2
Flex 项目 3
Flex 项目 4
Flex 项目 5
Flex 项目 6
Flex 项目 7
Flex 项目 8
Flex 项目 9
Flex 项目 10
Flex 项目 11
Flex 项目 12
Flex 项目 13
Flex 项目 14
Flex 项目 15
Flex 项目 16
Flex 项目 17
Flex 项目 18
Flex 项目 19
Flex 项目 20
Flex 项目 21
Flex 项目 22
Flex 项目 23
Flex 项目 24
Flex 项目 25

示例

<div class="d-flex flex-wrap">..</div>

<div class="d-flex flex-wrap-reverse">..</div>

<div class="d-flex flex-nowrap">..</div>
自己试一试 »

对齐内容

使用 .align-content-* 类控制 **聚集** flex 项目的垂直对齐方式。有效的类是 .align-content-start(默认)、.align-content-end.align-content-center.align-content-between.align-content-around.align-content-stretch

注意:这些类对 flex 项目的单行没有影响。

单击下面的按钮,通过更改示例框中 flex 项目的垂直对齐方式,查看五个类之间的区别。

示例

Flex 项目 1
Flex 项目 2
Flex 项目 3
Flex 项目 4
Flex 项目 5
Flex 项目 6
Flex 项目 7
Flex 项目 8
Flex 项目 9
Flex 项目 10
Flex 项目 11
Flex 项目 12
Flex 项目 13
Flex 项目 14
Flex 项目 15
Flex 项目 16
Flex 项目 17
Flex 项目 18
Flex 项目 19
Flex 项目 20
Flex 项目 21
Flex 项目 22
Flex 项目 23
Flex 项目 24
Flex 项目 25

示例

<div class="d-flex flex-wrap align-content-start">..</div>

<div class="d-flex flex-wrap align-content-end">..</div>

<div class="d-flex flex-wrap align-content-center">..</div>

<div class="d-flex flex-wrap align-content-around">..</div>

<div class="d-flex flex-wrap align-content-stretch">..</div>
自己试一试 »

对齐项目

使用 .align-items-* 类控制 **单行** flex 项目的垂直对齐方式。有效的类是 .align-items-start.align-items-end.align-items-center.align-items-baseline.align-items-stretch(默认)。

单击下面的按钮查看五个类之间的区别。

示例

Flex 项目 1
Flex 项目 2
Flex 项目 3

示例

<div class="d-flex align-items-start">..</div>

<div class="d-flex align-items-end">..</div>

<div class="d-flex align-items-center">..</div>

<div class="d-flex align-items-baseline">..</div>

<div class="d-flex align-items-stretch">..</div>
自己试一试 »

自身对齐

使用 .align-self-* 类控制 **特定 flex 项目** 的垂直对齐方式。有效的类是 .align-self-start.align-self-end.align-self-center.align-self-baseline.align-self-stretch(默认)。

单击下面的按钮查看五个类之间的区别。

示例

Flex 项目 1
Flex 项目 2
Flex 项目 3

示例

<div class="d-flex bg-light" style="height:150px">
  <div class="p-2 border">Flex 项目 1</div>
  <div class="p-2 border align-self-start">Flex 项目 2</div>
  <div class="p-2 border">Flex 项目 3</div>
</div>
自己试一试 »

响应式 Flex 类

所有 flex 类都带有额外的响应式类,这使得在特定屏幕尺寸上设置特定 flex 类变得容易。

符号 * 可以被 sm、md、lg、xl 或 xxl 替换,分别代表小屏幕、中等屏幕、大屏幕、超大屏幕和特大屏幕。

描述 示例
Flex 容器    
.d-*-flex 为不同屏幕创建 flexbox 容器 尝试一下
.d-*-inline-flex 为不同屏幕创建内联 flexbox 容器 尝试一下
方向    
.flex-*-row 在不同屏幕上水平显示 flex 项目 尝试一下
.flex-*-row-reverse 在不同屏幕上水平显示 flex 项目,并右对齐 尝试一下
.flex-*-column 在不同屏幕上垂直显示 flex 项目 尝试一下
.flex-*-column-reverse 在不同屏幕上垂直显示 flex 项目,并反转顺序 尝试一下
对齐内容    
.justify-content-*-start 在不同屏幕上从起始位置(左对齐)显示 flex 项目 尝试一下
.justify-content-*-end 在不同屏幕上从结束位置(右对齐)显示 flex 项目 尝试一下
.justify-content-*-center 在不同屏幕上将 flex 项目显示在 flex 容器的中心 尝试一下
.justify-content-*-between 在不同屏幕上将 flex 项目显示在“之间” 尝试一下
.justify-content-*-around 在不同屏幕上将 flex 项目显示在“周围” 尝试一下
填充/等宽    
.flex-*-fill 强制 flex 项目在不同屏幕上具有相等的宽度 尝试一下
增长    
.flex-*-grow-0 在不同屏幕上不要让项目增长  
.flex-*-grow-1 在不同屏幕上让项目增长  
缩小    
.flex-*-shrink-0 在不同屏幕上不要让项目缩小  
.flex-*-shrink-1 在不同屏幕上让项目缩小  
顺序    
.order-*-0-12 在小屏幕上更改顺序,从 0 到 5 尝试一下
换行    
.flex-*-nowrap 在不同屏幕上不要换行项目 尝试一下
.flex-*-wrap 在不同屏幕上换行项目 尝试一下
.flex-*-wrap-reverse 在不同屏幕上反转项目换行 尝试一下
对齐内容    
.align-content-*-start 在不同屏幕上从起始位置对齐收集的项目 尝试一下
.align-content-*-end 在不同屏幕上从结束位置对齐收集的项目 尝试一下
.align-content-*-center 在不同屏幕上将收集的项目对齐到中心 尝试一下
.align-content-*-around 在不同屏幕上将收集的项目对齐到“周围” 尝试一下
.align-content-*-stretch 在不同屏幕上拉伸收集的项目 尝试一下
对齐项目    
.align-items-*-start 在不同屏幕上从起始位置对齐单行项目 尝试一下
.align-items-*-end 在不同屏幕上从结束位置对齐单行项目 尝试一下
.align-items-*-center 在不同屏幕上将单行项目对齐到中心 尝试一下
.align-items-*-baseline 在不同屏幕上将单行项目对齐到基线 尝试一下
.align-items-*-stretch 在不同屏幕上拉伸单行项目 尝试一下
自身对齐    
.align-self-*-start 在不同屏幕上从起始位置对齐一个 flex 项目 尝试一下
.align-self-*-end 在不同屏幕上从结束位置对齐一个 flex 项目 尝试一下
.align-self-*-center 在不同屏幕上将一个 flex 项目对齐到中心 尝试一下
.align-self-*-baseline 在不同屏幕上将一个 flex 项目对齐到基线 尝试一下
.align-self-*-stretch 在不同屏幕上拉伸一个 flex 项目 尝试一下

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.