最近项目主要是小程序,小程序里面的布局主要采用flex布局,以前对flex 布局只是稍做了解,总结下flex 布局的经常使用套路html
Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。
任何一个容器均可以指定为Flex布局。像这样:小程序
.container{ display: flex; }
每一个弹性框布局包含两个轴。弹性项目沿其依次排列的那根轴称为主轴(main axis)。垂直于主轴的那根轴称为侧轴(cross axis)。布局
flex-direction
确立主轴。
justify-content
定义了在当前行上,弹性项目沿主轴如何排布。
align-items
定义了在当前行上,弹性项目沿侧轴默认如何排布。
align-self
定义了单个弹性项目在侧轴上应当如何对齐,这个定义会覆盖由 align-items
所确立的默认值。flex
弹性容器的主轴起点(main start)/主轴终点(main end)和侧轴起点(cross start)/侧轴终点(cross end)描述了弹性项目排布的起点与终点。它们具体取决于弹性容器的主轴与侧轴中,由 writing-mode
确立的方向(从左到右、从右到左,等等)。code
order 属性将元素与序号关联起来,以此决定哪些元素先出现。
flex-flow 属性是 flex-direction 和 flex-wrap 属性的简写,决定弹性项目如何排布。htm
根据 flex-wrap 属性,弹性项目能够排布在单个行或者多个行中。此属性控制侧轴的方向和新行排列的方向。教程
根据弹性容器的主轴与侧轴,弹性项目的宽和高中,对应主轴的称为主轴尺寸(main size) ,对应侧轴的称为 侧轴尺寸(cross size)。开发
min-height 与 min-width 属性初始值将为 0。
flex 属性是 flex-grow、flex-shrink 和 flex-basis 属性的简写,描述弹性项目的总体的伸缩性get
CSS属性flex规定了弹性元素如何伸长或缩短以适应flex容器中的可用空间。这是一个简写属性,用来设置flex-grow
, flex-shrink
与flex-basis
。
大多数状况下,开发者须要将flex
设置为auto
,initial
,none
,或一个无单位正数it