Bootstrap Flexbox



Bootstrap Flexbox

Bootstrap Flexbox

Flexbox用于通过一整套响应式Flexbox实用程序快速管理网格列,导航,组件等的布局,对齐和大小。
您还可以使用自定义CSS进行复杂的实现。
Flexbox属性:

启用Flex行为
方向
合理化内容
对齐项
自我对齐
具有对齐内容的自动边距
带有对齐项的自动边距
包裹
排序
对齐内容


启用Flex行为

" display"实用程序用于创建一个灵活的容器,并将直接子元素转换为flex项。
您可以使用其他flex属性进一步修改flex容器和项目。
默认的flexbox容器:
<div class="d-flex p-2">I'm a flexbox container!</div>

内联Flexbox容器:
<div class="d-inline-flex p-2">I'm an inline flexbox container!</div>

响应式flexbox容器:
.d-flex和.d-inline-flex也存在响应变体。

.d-flex
.d-inline-flex
.d-sm-flex
.d-sm-inline-flex
.d-md-flex
.d-md-inline-flex
.d-lg-flex
.d-lg-inline-flex
.d-xl-flex
.d-xl-inline-flex

Flexbox方向

您可以使用Direction实用程序在flex容器中设置flex项的方向。不必在此处添加水平类,因为默认情况下它是行。如果发现必须设置此值的情况,则可以使用" .flex-row"设置水平方向(浏览器默认),或使用?.flex-row-reverse?从相反的一侧开始水平方向。
示例
水平方向(默认情况下)
<div class="d-flex flex-row">
  <div class="p-2">Flex item 1</div>
  <div class="p-2">Flex item 2</div>
  <div class="p-2">Flex item 3</div>
</div>
<div class="d-flex flex-row-reverse">
  <div class="p-2">Flex item 1</div>
  <div class="p-2">Flex item 2</div>
  <div class="p-2">Flex item 3</div>
</div>

垂直方向
您可以使用" .flex-column"设置垂直方向,或使用" .flex-column-reverse"启动垂直方向
示例
<div class="d-flex flex-column">
  <div class="p-2">Flex item 1</div>
  <div class="p-2">Flex item 2</div>
  <div class="p-2">Flex item 3</div>
</div>
<div class="d-flex flex-column-reverse">
  <div class="p-2">Flex item 1</div>
  <div class="p-2">Flex item 2</div>
  <div class="p-2">Flex item 3</div>
</div>

响应式变体也可以用于弹性方向:
行:
.flex-row

.flex-row-reverse
列:
.flex-column

.flex-column-reverse
小:
.flex-sm-row

.flex-sm-row-reverse

.flex-sm-column

.flex-sm-column-reverse
中:
.flex-md-row-reverse

.flex-md-row-reverse

.flex-md-column

.flex-md-column-reverse
大:
.flex-lg-row

.flex-lg-row-reverse

.flex-lg-column

.flex-lg-column-reverse
特大:
.flex-xl-row

.flex-xl-row-reverse

.flex-xl-column

.flex-xl-column-reverse

调整内容

justify-content实用程序用于更改弹性项目在主轴上的对齐方式。
示例:
<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>

证明内容的响应变体

您还可以将正义内容的响应变体使用。

.justify-content-start
.justify-content-end
.justify-content-center
.justify-content-between
.justify-content-around
.justify-content-sm-start
.justify-content-sm-end
.justify-content-sm-center
.justify-content-sm-between
.justify-content-sm-around
.justify-content-md-start
.justify-content-md-end
.justify-content-md-center
.justify-content-md-between
.justify-content-md-around
.justify-content-lg-start
.justify-content-lg-end
.justify-content-lg-center
.justify-content-lg-between
.justify-content-lg-around
.justify-content-xl-start
.justify-content-xl-end
.justify-content-xl-center
.justify-content-xl-between
.justify-content-xl-around

对齐项

在Flexbox容器上使用 align items 实用程序来更改弹性项目在横轴上的对齐方式。您可以选择开始,结束,居中,基线或拉伸(浏览器默认值)。
示例:
<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-items-start
.align-items-end
.align-items-center
.align-items-baseline
.align-items-stretch
.align-items-sm-start
.align-items-sm-end
.align-items-sm-center
.align-items-sm-baseline
.align-items-sm-stretch
.align-items-md-start
.align-items-md-end
.align-items-md-center
.align-items-md-baseline
.align-items-md-stretch
.align-items-lg-start
.align-items-lg-end
.align-items-lg-center
.align-items-lg-baseline
.align-items-lg-stretch
.align-items-xl-start
.align-items-xl-end
.align-items-xl-center
.align-items-xl-基线
.align-items-xl-stretch

自身对齐

在flexbox项上使用align-self-utility可以单独更改其在横轴上的对齐方式。您可以从与对齐项目相同的选项中进行选择: 开始,结束,居中,基线或拉伸(浏览器默认)。
示例:
<div class="align-self-start">Aligned flex item</div>
<div class="align-self-end">Aligned flex item</div>
<div class="align-self-center">Aligned flex item</div>
<div class="align-self-baseline">Aligned flex item</div>
<div class="align-self-stretch">Aligned flex item</div>

针对自我的响应变异

您还可以针对自我的响应变异。

.align-self-start
.align-self-end
.align-self-center
.align-self-baseline
.align-self-stretch
.align-self-sm-start
.align-self-sm-end
.align-self-sm-center
.align-self-sm-baseline
.align-self-sm-stretch
.align-self-md-start
.align-self-md-end
.align-self-md-center
.align-self-md-baseline
.align-self-md-stretch
.align-self-lg-start
.align-self-lg-end
.align-self-lg-center
.align-self-lg-baseline
.align-self-lg-stretch
.align-self-xl-start
.align-self-xl-end
.align-self-xl-center
.align-self-xl-baseline
.align-self-xl-stretch

自动边距

在flexbox中,您可以将弹性对齐方式与自动边距混合使用,以完成一些非常棒的事情。

使用justify-content

您可以轻松地将所有弹性项目移到一侧,但通过将justify-content与margin-right混合在一起,可以将另一侧留在另一端: 自动或左边距: 自动。
示例:
<div class="d-flex justify-content-end">
  <div class="mr-auto p-2">Flex item</div>
  <div class="p-2">Flex item</div>
  <div class="p-2">Flex item</div>
</div>
<div class="d-flex justify-content-start">
  <div class="p-2">Flex item</div>
  <div class="p-2">Flex item</div>
  <div class="ml-auto p-2">Flex item</div>
</div>

使用align-items

您可以通过混合align-items,flex-direction: column和margin-类似地将一个flex项移动到容器的顶部或底部。 top: 自动或margin-bottom: 自动。
示例:
<div class="d-flex align-items-start flex-column" style="height: 200px;">
  <div class="mb-auto p-2">Flex item</div>
  <div class="p-2">Flex item</div>
  <div class="p-2">Flex item</div>
</div>
<div class="d-flex align-items-end flex-column" style="height: 200px;">
  <div class="p-2">Flex item</div>
  <div class="p-2">Flex item</div>
  <div class="mt-auto p-2">Flex item</div>
</div>

包裹

它用于更改弹性项目在弹性容器中的包裹方式。您可以选择以下内容:
不包裹: .flex-nowrap
包裹: .flex-wrap
反向包裹: .flex-wrap-reverse
flex-wrap的响应变体
您还可以使用自适应变体进行弯曲包裹。

.flex-nowrap
.flex-wrap
.flex-wrap-reverse
.flex-sm-nowrap
.flex-sm-wrap
.flex-sm-wrap-reverse
.flex-md-nowrap
.flex-md-wrap
.flex-md-wrap-reverse
.flex-lg-nowrap
.flex-lg-wrap
.flex-lg-wrap-reverse
.flex-xl-nowrap
.flex-xl-wrap
.flex-xl-wrap-reverse

排序:

它用于通过一些订购工具来更改特定弹性商品的视觉订购。
您可以先创建一个项目,也可以创建一个最后一个项目,以使用DOM顺序进行重置。由于order采用任何整数值(例如5),请为所有所需的其他值添加自定义CSS。
示例:
<div class="d-flex flex-nowrap">
  <div class="flex-last p-2">First flex item</div>
  <div class="p-2">Second flex item</div>
  <div class="flex-first p-2">Third flex item</div>
</div>

排序的响应变体

您还可以为排序使用响应变体:

.order-first
.order-last
.order-ordered
.order-sm-first
.order-sm-last
.order-sm-unordered
.order-md-first
.order-md-last
.order-md-unordered
.order-lg-first
.order-lg-last
.order-lg-unordered
.order-xl-first
.order-xl-last
.order-xl-unordered

对齐内容

在flexbox容器上使用align-content实用程序可将弹性项目在横轴上对齐在一起。您可以选择开始(浏览器默认),结束,居中,之​​间,周围或伸展。
为了演示这些实用程序,我们强制执行了flex-wrap: 包裹并增加了f的数量lex项。
注意!此属性对弹性项目的单行没有影响。
开始:
<div class="d-flex align-content-start flex-wrap">
  ...
</div>

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

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

之间:
<div class="d-flex align-content-between flex-wrap">...</div>

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

拉伸:
<div class="d-flex align-content-stretch flex-wrap">...</div>

对齐内容的响应变体

您还可以为对齐内容使用响应变体:

.align-content-start
.align-content-end
.align-content-center
.align-content-around
.align-content-stretch
.align-content-sm-start
.align-content-sm-end
.align-content-sm-center
.align-content-sm-around
.align-content-sm-stretch
.align-content-md-start
.align-content-md-end
.align-content-md-center
.align-content-md-around
.align-content-md-stretch
.align-content-lg-start
.align-content-lg-end
.align-content-lg-center
.align-content-lg-around
.align-content-lg-stretch
.align-content-xl-start
.align-content-xl-end
.align-content-xl-center
.align-content-xl-around
.align-content-xl-stretch