css弹性布局 display:flex;

125 阅读2分钟

这是我的第一篇掘金博客,开启掘金写作之路。

弹性布局 flex

  1. flex容器:采用flex布局的元素(父元素

  2. flex项目:元素下的所有子元素(子元素

    • 主轴:水平向右

    • 交叉轴:垂直向下

    • display:flex;所有项目默认在一排(若项目宽高超过容器,则会等比例压缩项目

      flex.PNG

注意:
  1. 设置之后,子元素的floatclearvartical-align 将会失效
flex-wrap 属性
  • flex-wrap:nowrap;不换行(默认

  • flex-wrap:wrap; 换行

    不换行.PNG

  • flex-wrap:wrap-reverse; 倒叙换行

    倒叙换行.PNG

justify-content属性(水平对齐)
  • justify-content:flex-start; 左边对齐(默认

  • justify-content:flex-end; 右端对齐

    j1.PNG

  • justify-content:center; 居中对齐

    j2.PNG

  • justify-content:space-between; 水平两边紧挨容器的对齐

    j3获.PNG

  • justify-content:space-around; 水平中项目与容器的距离是项目与项目距离的一半 j4.PNG

  • justify-content:space-evenly; 水平所有距离相等的对齐 捕j5获.PNG

align-items 属性(垂直对齐)
  • align-items:flex-start; 头对齐

    a4.PNG

  • align-items:flex-end; 尾对齐

    捕a2获.PNG

  • align-items:center; 垂直居中对齐

    捕a3获.PNG

  • align-items:stretch; (默认)如果项目未设置高度或设为auto,将占满整个容器的高度。 a1捕获.PNG

  • align-items:baseline; 每个项目内第一行文字的基线对齐 捕a5获.PNG

flex-grow

项目分配扩展比率 (瓜分空白部分

  • 写在项目里面
描述
number一个数字,规定项目相对于其他灵活的项目进行扩展的量。默认值是 0。
#main {
  width: 350px;
  height: 100px;
  border: 1px solid #c3c3c3;
  display: flex;
}
​
/*      每个div平均分配
#main div {flex-grow: 1;}
*/#main div:nth-of-type(1) {flex-grow: 1;}
#main div:nth-of-type(2) {flex-grow: 3;}        //是其他项目的三倍
#main div:nth-of-type(3) {flex-grow: 1;}
#main div:nth-of-type(4) {flex-grow: 1;}
#main div:nth-of-type(5) {flex-grow: 1;}
​
flex-direction

改变主轴的方向

描述
row水平:左向右 (默认
row-reverse水平:右向左
column垂直:上to下
column-reverse垂直:下to上

捕1获.PNG

捕2获.PNG

捕获3.PNG

捕4获.PNG

flex-flow:;

组合direction和wrap flex-flow:flex-direction flex-wrap;