Flexbox系统概述

课后整理 2020-12-9

Flexbox由伸缩容器和伸缩项目组成。

在伸缩容器中,每一个子元素都是一个伸缩项目,伸缩项目可以是任意数量的,伸缩容器外和伸缩项目内的一切元素都不受影响。

伸缩项目沿着伸缩容器内的一个伸缩行定位,通常每个伸缩容器只有一个伸缩行。在默认情况下,伸缩行和文本方向一致:从左至右,从上到下。

常规布局是基于块和文本流方向,而Flex布局是基于flex-flow流。如图1所示是W3C规范对Flex布局的解释。

图1  Flex布局模式

伸缩项目是沿着主轴(main axis),从主轴起点(main-start)到主轴终点(main-end),或者沿着侧轴(cross axis),从侧轴起点(cross-start)到侧轴终点(cross-end)排列。

一个伸缩项目就是一个伸缩容器的子元素,伸缩容器中的文本也被视为一个伸缩项目。伸缩项目中内容与普通文本流一样。例如,当一个伸缩项目被设置为浮动,用户依然可以在这个伸缩项目中放置一个浮动元素。