Flex 中 align-items 和 align-content 的区别?
区别
| 属性 |
作用对象 |
需要 flex-wrap |
场景 |
align-items |
单行项目 |
❌ |
控制每行项目在交叉轴的对齐 |
align-content |
多行之间的间距 |
✅ 需要 wrap |
控制行与行之间的空间分布 |
图示
align-items: center(单行)
┌─────────────────────────┐
│ ┌──┐ ┌──┐ ┌──┐ │ ← 每个项目垂直居中
│ │ │ │ │ │ │ │
│ └──┘ └──┘ └──┘ │
└─────────────────────────┘
align-content: space-between(多行)
┌─────────────────────────┐
│ ┌──┐ ┌──┐ ┌──┐ │ ← 第一行贴顶
│ └──┘ └──┘ └──┘ │
│ │ ← 空间
│ ┌──┐ ┌──┐ ┌──┐ │ ← 第二行贴底
│ └──┘ └──┘ └──┘ │
└─────────────────────────┘
示例
.container {
display: flex;
flex-wrap: wrap;
height: 400px;
align-items: center;
align-content: space-between;
}
注意事项
align-content 只在 flex-wrap: wrap 且有多行时生效
- 单行时
align-content 无效
align-items 对每一行都生效
同分类其他题目