Skip to content

附录:Flex布局核心知识点汇总

1. 核心术语速记

术语描述
容器(Flex Container)开启Flex布局的父元素,通过 display: flexdisplay: inline-flex 开启
项目(Flex Item)容器内的子元素,会自动成为Flex项目
主轴(Main Axis)项目排列的主要方向,默认为水平方向
交叉轴(Cross Axis)与主轴垂直的方向,默认为垂直方向
主轴起点/终点主轴的开始和结束位置,由 flex-direction 决定
交叉轴起点/终点交叉轴的开始和结束位置,由 flex-direction 决定

2. 容器属性汇总

属性描述默认值常用值
display开启Flex布局-flex, inline-flex
flex-direction设置主轴方向rowrow, row-reverse, column, column-reverse
flex-wrap控制项目是否换行nowrapnowrap, wrap, wrap-reverse
flex-flowflex-direction + flex-wrap 简写row nowrap-
justify-content控制项目在主轴上的对齐flex-startflex-start, flex-end, center, space-between, space-around, space-evenly
align-items控制项目在交叉轴上的对齐stretchstretch, flex-start, flex-end, center, baseline
align-content控制多行项目在交叉轴上的对齐stretchstretch, flex-start, flex-end, center, space-between, space-around

3. 项目属性汇总

属性描述默认值常用值
order控制项目的排列顺序0任意整数
align-self单独设置项目在交叉轴上的对齐autoauto, flex-start, flex-end, center, stretch, baseline
flex-grow控制项目的放大比例0任意非负整数
flex-shrink控制项目的缩小比例1任意非负整数
flex-basis设置项目在主轴上的初始尺寸autoauto, 长度值
flexflex-grow + flex-shrink + flex-basis 简写0 1 auto1, none, 0 0 <length>

4. 常用布局代码模板

水平居中

css
.container {
  display: flex;
  justify-content: center;
}

垂直居中

css
.container {
  display: flex;
  align-items: center;
  height: 300px;
}

水平垂直双居中

css
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 300px;
}

导航栏布局

css
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 20px;
}

.nav-links {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nav-links li {
  margin-left: 20px;
}

卡片布局

css
.container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  padding: 20px;
}

.card {
  flex: 1 1 300px;
  background-color: white;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  padding: 20px;
}

响应式布局

css
.container {
  display: flex;
  flex-wrap: wrap;
}

.item {
  flex: 1 1 300px;
}

@media (max-width: 768px) {
  .item {
    flex: 1 1 100%;
  }
}

5. 新手易错点对照表

问题原因解决方法
项目不排列容器没有设置 display: flex确保容器设置了 display: flex
对齐方式失效主轴方向改变后,对齐属性的作用方向也改变理解主轴和交叉轴的方向,选择正确的对齐属性
项目尺寸失控flex-growflex-shrink 使用不当合理设置 flex-growflex-shrink,需要固定尺寸时使用 flex-shrink: 0
align-content 不生效项目只有一行,align-content 仅在多行时生效设置 flex-wrap: wrap 并确保项目换行
flex-basiswidth/height 冲突flex-basis 优先级高于 width/height理解两者的优先级关系,避免冲突
浏览器兼容性问题旧浏览器对Flex布局支持不完善使用浏览器前缀,提供回退方案,推荐使用现代浏览器

通过本附录的学习,你已经掌握了Flex布局的核心知识点。这些知识点是Flex布局的基础,掌握它们将帮助你更加熟练地使用Flex布局来实现各种复杂的页面布局。

© 2026 编程马·菜鸟教程 版权所有