flex-wrap用于控制弹性子元素是否换行,取值为nowrap(不换行)、wrap(向下换行)和wrap-reverse(向上换行),常与flex-direction配合使用,可通过flex-flow简写属性统一设置,实现响应式多行布局。
在 CSS 中,flex-wrap 属性用于控制弹性容器(flex container)中的子元素是否换行以及如何换行。默认情况下,flex 子元素会尝试在一行内显示,当空间不足时可能被压缩或溢出。通过设置 flex-wrap,可以让子元素在空间不够时自动换行,实现更灵活的布局。
flex-wrap 的取值
flex-wrap 支持以下三个常用值:
- nowrap:默认值,所有子元素都在同一行显示,不换行。
- wrap:当子元素超出容器宽度时,换行显示,第一行在上方。
- wrap-reverse:换行,但第一行在下方,堆叠顺序反转。
基本用法示例
假设我们有一组卡片,希望在小屏幕上自动换行:
.container {display: flex;
flex-wrap: wrap;
}
.card {
width: 200px;
margin: 10px;
background: #ddd;
}
这样,当容器宽度不足以容纳所有卡片时,它们会自动换到下一行,形成多行布局。
结合 flex-direction 使用
你可以将 flex-wrap 和 flex-direction 结合使用来控制主轴方向和换行行为:
-
flex-direction: row; flex-wrap: wrap;:从左到右排列,换行时向下。 -
flex-direction: column; flex-wrap: wrap;:从上到下排列,当列高度超限时向右创建新列。
简写属性:flex-flo
w
可以使用 flex-flow 简写属性同时设置 flex-direction 和 flex-wrap:
flex-flow: row wrap;
}
这等同于分别设置 flex-direction: row 和 flex-wrap: wrap。
基本上就这些。合理使用 flex-wrap: wrap 能让弹性布局在不同屏幕尺寸下更自然地适应内容,是响应式设计中非常实用的技巧。

w






