Flexbox 弹性布局实用总结

Flexbox 是现代 CSS 中最常用的布局方案,掌握以下几个核心属性,基本上能解决 90% 的布局问题。

一、开启 Flex 容器

给父元素添加 display: flex,子元素自动变为弹性项目(flex item)。

.container {
  display: flex;
}

二、主轴方向排列

justify-content 控制主轴(默认水平)方向的排列方式:

  • flex-start - 左对齐(默认)
  • center - 水平居中
  • space-between - 两端对齐,中间等分
  • space-around - 每个项目两侧间距相等
  • space-evenly - 间距完全均等

三、交叉轴对齐

align-items 控制交叉轴(默认垂直)方向的对齐:

  • stretch - 拉伸填满(默认)
  • center - 垂直居中 ⭐ 最常用
  • flex-start - 顶部对齐
  • flex-end - 底部对齐

四、换行与自适应

flex-wrap: wrap 允许子元素换行,配合 gap 属性轻松实现响应式网格布局:

.container {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.item {
  flex: 1 1 300px;  /* 可伸缩,基础宽度300px */
}
技巧:flex: 1 让子元素平分剩余空间,是自适应布局的常用技巧。三个值分别代表 flex-grow(放大比例)、flex-shrink(缩小比例)、flex-basis(基础尺寸)。