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