align-items和align-content的区别

根据阮一峰的Flex 布局教程:语法篇中的描述,align-items属性定义项目在交叉轴上如何对齐,而align-content属性定义了多根轴线的对齐方式,如果项目只有一根轴线,该属性不起作用。

问题在于什么叫多根轴线

多根轴线

通过flex-wrap属性可以控制容器中的项目是否换行,一旦flex-wrap的属性不为nowrap,那么容器中就有可能存在多行(内容不足以换行时并不会换行)。每一行都有该行的轴线(即使只有一行),此时就出现了“多根轴线”(一行时只有一条,因此打引号)

单行
align-items和align-content的区别
多行
align-items和align-content的区别

align-items和align-content的区别

一旦容器拥有了“多根轴线”,那么align-items会使得项目在各自的轴线上对齐,而align-content会使得所有内容(多行内容)作为一个整体在整个容器上对齐

align-content
align-items和align-content的区别
align-items
align-items和align-content的区别

Reference

  1. Flex 布局教程:语法篇
  2. align-items和align-content的区别