Flex布局入门

1. flex (弹性布局)

主要提供简便、完整、响应式布局解决方法,设置flex布局后元素的 float、clear、vertical-align属性将失效

主要参数:

  • flex-direaction

    • 决定主轴的方向

        - 参数:
            - row(默认值):      主轴为水平方向,起点在左端
            - row-reverse:     同上,起点在右端
            - column:          主轴为垂直方向,起点在上方
            - column-reverse:  同上,起点在下方
      
  • flex-wrap

    • 如果默认轴线排序不下,则换行

        - 参数:
            - nowrap(默认):     不换行
            - wrap:            换行,第一行在上方
            - wrap-reverse:    换行,第一行在下方
      
  • flex-flow

    • 是flex-direaction 和 flex-wrap的简写
  • justify-content

    • 在主轴(水平)上的对齐方式

        - 参数:
            - flex-start(默认值): 左对齐
            - flex-end:          右对齐
            - center:            居中
            - space-between:     两端对齐,项目之间间隔相等
            - space-around:      项目两侧有间隔,类似margin后的效果
      
  • align-items

    • 定义项目交叉(垂直)轴上如何对齐

        - 参数:
            - flex-start:       起点对齐
            - flex-end:         重点对齐
            - center:           重点对齐
            - baseline:         第一行文字的基线对齐
            - stretch:          如果项目未设置高度或者auto,将占满整个容器
      
  • align-content

    • 多根轴线的对齐方式,单一不起作用

        - 参数:
            - flex-start:       交叉轴 起点对齐
            - flex-end:         交叉轴 终点对齐
            - center:           交叉轴 中点对齐
            - space-between:    交叉轴两端对齐,轴线之间平均分布
            - sapce-around:     同margin
            - stretch:          占满整个交叉轴
      

其他参数

  • order

      定义上项目的排列顺序,数值越小,排列越靠前,默认为0
    
  • flex-grow

  •   定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大
    
  • flex-shrink

  •   定义项目的缩小比例,默认为1,空间不足,该项目将缩小
    
  • flex-basis

  •   在分配多余空间之前,先计算是否有多余空间
    
  • flex

  •   上面三个的简写
    
  • align-self

  •       允许单个项目和其他项目有不一样的对齐方式,可覆盖align-items属性,
      默认auto,表示继承父元素的align-items属性,如果没有父元素则等同于stretch