Flex 弹性盒模型属性

弹性盒模型概念

Flex容器:采用Flex布局的元素的父元素;
Flex项目:采用Flex布局的元素的父元素的子元素;容器默认存在两根轴:水平的主轴和垂直的交叉轴;项目默认按主轴排列。

Flex容器的属性(添加在父级元素上的)

1、display:flex;

注意:设为flex布局后,子元素的float、clear和vertical-align属性将失效。

2、flex-direction属性 决定主轴的方向(即项目的排列方向)

flex-direction:
X轴
        row (默认值)
        row-reverse (水平排列,内容末端排列,类似右浮动)
Y轴
        column (垂直排列,顶端对齐)
        column-reverse (垂直排列,内容相反,底端对齐)

3、flex-wrap 属性,定义子元素是否换行显示

flex-wrap:
       nowrap(默认值,不换行)
       wrap(自动换行)
       wrap-reverse(自动换行,内容反转)

4、flex-flow是属性flex-direction和flex-wrap的简写方式,默认值为row nowrap;

5、justify-content属性定义了项目在主轴上的对齐方式。

justify-content:
       flex-start;(默认值)
       flex-end;(内容整体底部对齐)
       center;(内容整体居中)
       space-between;(两端对齐)
       space-around;(自动分配)

6、align-items属性定义项目在交叉轴(侧轴)上如何对齐。

align-items:
       flex-start(侧轴顶端对齐)
       flex-en(侧轴底端对齐)
       center(居中对齐)
       baseline(基线对齐,默认跟flex-start等效,元素高度由padding撑开,基线按内容对齐)
       strech(拉伸(默认值),默认内容不设置高度)`

7、align-content属性定义了多根轴线的对齐方式。对于单行子元素,该属性不起作用。

align-content:
       flex-start (取消内容行间距,顶部对齐)
       flex-end (取消内容行间距,底部对齐)
       center (取消内容行间距,顶部对齐)
       space-between (两端对齐)
       space-around (自动分配)

Flex项目属性(添加在子元素上的)

1、order属性

order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。

2、flex-grow属性

flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。

3、flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。

如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。
负值对该属性无效。

4、flex-basis=width属性

flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。

5、flex属性

flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。

6、align-self属性

align-self: auto | flex-start | flex-end | center | baseline | stretch;

转载于:https://juejin.im/post/5d3ae97d518825477162b6bb

你可能感兴趣的:(Flex 弹性盒模型属性)