Open songning0605 opened 4 years ago
flex
基础知识再整理设置为 flex
容器
display: flex; /* flex | inline-box */
容器属性
flex-direction /* 轴线方向,row | row-reverse | column | column-reverse */
flex-wrap /* 一条轴线排不下,now-wrap | wrap | wrap-reverse */
flex-flow /* flex-direction和flex-wrap的缩写 */
justify-content /* 定义了项目在横轴上的对齐方式 flex-start | flex-end | center | space-between | space-around*/
align-items /* 定义了项目在纵轴上的对齐方式,flex-start | flex-end | center | baseline | stretch*/
align-content /* 定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用,flex-start | flex-end | center | space-between | space-around | stretch */
在
CSS flex
布局中,当设置justify-content: space-between
的时候,可以实现两端对齐。但是,如果最后一行的列表个数不满,就会出现最后一行没有和上边的行垂直对齐的问题。实现思路是这样的
n
列布局,列宽度为(100/n - 1)%
,每一列留出1%
的宽度进行margin
分配,这样保证了每一列宽度的一致性。margin
分配的时候,忽略最后一列,所以margin的宽度是n%/(n-1)
,保证列间隔的一致性。n
,设置最后一项的margin-right
为auto
,把剩余宽度全部设置为margin
。假设要用
flex
实现4列布局先看一下效果
html
代码如下css
代码如下