Flexbox 是 CSS 一维布局工具,通过 display: flex 启用,主轴默认水平,用 justify-content 和 align-items 控制对齐,flex 简写实现缩放,order 调整视觉顺序,适用于导航栏、卡片等场景。

Flexbox 是 CSS 中专门用来做一维布局的工具,适合处理元素在单行或单列中的对齐、分布和顺序调整,比传统浮动或定位更直观、可控。
Flex 容器与 Flex 项
要启用 Flex 布局,先给父元素设置 display: flex(或 display: inline-flex),它就变成 Flex 容器;它的直接子元素自动成为 Flex 项。
- 容器默认主轴是水平方向(flex-direction: row),元素从左到右排列
- 交叉轴垂直于主轴,即默认为上下方向
- Flex 项不写宽高也能自适应,文字不会溢出,换行由 flex-wrap 控制(默认不换行)
常用对齐控制
对齐分为主轴对齐(justify-content)和交叉轴对齐(align-items),是 Flex 最实用的两个属性。
- justify-content:控制主轴上元素的整体分布,比如 center(居中)、space-between(两端对齐,间隙均分)
- align-items:控制交叉轴上单个元素的对齐方式,比如 center(垂直居中)、stretch(默认,拉伸填满容器高度)
- 如果想让某个 Flex 项单独对齐,可用 align-self 覆盖 align-items 的设置
灵活缩放与顺序调整
Flex 项可通过 flex 简写属性(如 flex: 1)快速实现等分、收缩或放大。
立即学习“前端免费学习笔记(深入)”;
- flex: 0 1 auto 是默认值,表示不放大、可缩小、按内容宽度
- flex: 1 相当于 flex: 1 1 0,常用于等分剩余空间
- order 属性可以改变渲染顺序,数值越小越靠前,不影响 DOM 结构,只影响视觉排列
基本上就这些。Flexbox 不复杂但容易忽略细节,比如它只作用于直接子元素、不兼容 IE9 及以下,日常做导航栏、卡片列表、登录框等场景非常顺手。










