flex布局

107 阅读2分钟

容器属性:

1. flex-direction 排列方式
    取值:row(默认)/row-reverse/column/column-reverse******
2.flex-wrap:是否换行  
    取值:nowrap(默认)/ wrap/ wrap-reverse******
3.flex-flow属性 :
    flex-flow属性是flex-deriction与flex-wrap属性的简写集合,默认属性为row  nowrap,
    即横向排列,且不换行,如果需要控制项目排列与换行,推荐使用此属性,而非单独写两个。
4.justify-content属性 : 横向对齐方式
    取值flex-start/flex-end/center/space-between/space-around/space-evenly
    

image.png

image.png

5.align-items属性 : 纵向排列方式

    取值:flex-start | flex-end | center | baseline | stretch(默认)

    stretch(默认):用于控制项目在纵轴排列方式,
    默认stretch即如果项目没设置高度,或高度为auto,则占满整个容器,
    注意:常理来说justify-content与align-items默认分别处理项目横轴,纵轴的对齐方式,
    但如果我们修改了flex-direction为column,它们处理的轴向会交换,
    也就是justify-content处理纵轴,align-items处理横轴。
6.align-content :控制多行的对齐方式
    取值:flex-start | flex-end | center | space-between | space-around | space-evenly | stretch(默认);
    用于控制多行项目的对齐方式,如果项目只有一行则不会起作用;
    默认stretch,即在项目没设置高度,或高度为auto情况下让项目填满整个容器
    

项目属性

1.flex-grow
取值:默认0,用于决定项目在有剩余空间的情况下是否放大,默认不放大;
注意:即便设置了固定宽度,也会放大。

image.png

2.flex-shrink
    取值:默认1,用于决定项目在空间不足时是否缩小,默认项目都是1,即空间不足时大家一起等比缩小;
    注意:即便设置了固定宽度,也会缩小。
    但如果某个项目flex-shrink设置为0,则即便空间不够,自身也不缩小。
3.flex-basis
取值:默认auto,用于设置项目宽度,默认auto时,项目会保持默认宽度,或者以width为自身的宽度,
但如果设置了flex-basis,权重会width属性高,因此会覆盖widtn属性。

image.png

4.flex 取值:默认0 1 auto,
    flex属性是flex-growflex-shrinkflex-basis三个属性的简写,用于定义项目放大,缩小与宽度。
该属性有两个快捷键值,分别是auto(1 1 auto)等分放大缩小,与none(0 0 auto)不放大不缩小。
flex:1 常用于自适应的