flex-wrap

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 2015 年 9 月以来,该特性已在各大浏览器中可用。

flex-wrap CSS 属性设置弹性项目是强制显示在单行上,还是可以换行显示在多行上。如果允许换行,它会设置行堆叠的方向。

试一试

flex-wrap: nowrap;
flex-wrap: wrap;
flex-wrap: wrap-reverse;
<section class="default-example" id="default-example">
  <div class="transition-all" id="example-element">
    <div>Item One</div>
    <div>Item Two</div>
    <div>Item Three</div>
    <div>Item Four</div>
    <div>Item Five</div>
    <div>Item Six</div>
  </div>
</section>
#example-element {
  border: 1px solid #c5c5c5;
  width: 80%;
  display: flex;
}

#example-element > div {
  background-color: rgb(0 0 255 / 0.2);
  border: 3px solid blue;
  width: 60px;
  margin: 10px;
}

flex-flow 简写属性可用于同时设置 flex-directionflex-wrap 属性,它们分别定义弹性容器的主轴和侧轴。

语法

css
flex-wrap: nowrap; /* Default value */
flex-wrap: wrap;
flex-wrap: wrap-reverse;

/* Global values */
flex-wrap: inherit;
flex-wrap: initial;
flex-wrap: revert;
flex-wrap: revert-layer;
flex-wrap: unset;

flex-wrap 属性指定为以下值中的单个关键词

nowrap

弹性项目排布在单行上,这可能会导致弹性容器溢出。交叉起始点等同于 inline-start 或 block-start,具体取决于 flex-direction 的值。这是默认值。

wrap

弹性项目换行显示在多行上。交叉起始点等同于 inline-start 或 block-start,具体取决于当前的 书写模式flex-direction 的值。

wrap-reverse

行为与 wrap 相同,但交叉起始点和交叉结束点是反向的。

正式定义

初始值nowrap
应用于弹性容器
继承性
计算值同指定值
动画类型离散

正式语法

flex-wrap = 
nowrap |
wrap |
wrap-reverse

示例

设置弹性容器换行值

HTML

html
<h4>This is an example for flex-wrap:wrap</h4>
<div class="content">
  <div class="red">1</div>
  <div class="green">2</div>
  <div class="blue">3</div>
</div>
<h4>This is an example for flex-wrap:nowrap</h4>
<div class="content1">
  <div class="red">1</div>
  <div class="green">2</div>
  <div class="blue">3</div>
</div>
<h4>This is an example for flex-wrap:wrap-reverse</h4>
<div class="content2">
  <div class="red">1</div>
  <div class="green">2</div>
  <div class="blue">3</div>
</div>

CSS

css
/* Common Styles */
.content,
.content1,
.content2 {
  color: white;
  font: 100 24px/100px sans-serif;
  height: 150px;
  width: 897px;
  text-align: center;
}

.content div,
.content1 div,
.content2 div {
  height: 50%;
  width: 300px;
}
.red {
  background: orangered;
}
.green {
  background: yellowgreen;
}
.blue {
  background: steelblue;
}

/* Flexbox Styles */
.content {
  display: flex;
  flex-wrap: wrap;
}
.content1 {
  display: flex;
  flex-wrap: nowrap;
}
.content2 {
  display: flex;
  flex-wrap: wrap-reverse;
}

结果

规范

规范
CSS 弹性盒子布局模块第 1 级
# flex-wrap-属性

浏览器兼容性

另见