移动端(三)CSS3 flex弹性盒子模型

flex弹性盒子

  • 操作方便,布局极为简单,移动端应用很广泛
  • PC 端浏览器支持情况较差
  • IE 11或更低版本,不支持或仅部分支持
  • PC端页面布局,建议还是传统布局;如果不考虑兼容性问题的PC端页面布局,还是使用flex弹性布局

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

原理

  • 通过给父盒子添加flex属性,来控制子盒子的位置和排列方式

属性

  • flex-direction:设置主轴的方向,即子元素的排列方向
    移动端(三)CSS3 flex弹性盒子模型

  • justify-content:设置主轴上的子元素排列方式
    移动端(三)CSS3 flex弹性盒子模型

  • flex-wrap:设置子元素是否换行,flex布局中默认是不换行的
    移动端(三)CSS3 flex弹性盒子模型

  • align-items:设置侧轴上的子元素排列方式(单行)
    移动端(三)CSS3 flex弹性盒子模型

  • align-content:设置侧轴上的子元素的排列方式(多行)
    移动端(三)CSS3 flex弹性盒子模型

  • flex-flow:复合属性,相当于同时设置了 flex-direction 和 flex-wrap

    • flex-flow:row wrap;

子项属性

flex 属性

  • flex 属性定义子项目分配剩余空间,用flex来表示占多少份数

align-self 属性

  • align-self 控制子项自己在侧轴上的排列方式
  • 允许单个项目有与其他项目不一样的对齐方式,可覆盖 align-items 属性。
  • 默认值为 auto,表示继承父元素的 align-items 属性,如果没有父元素,则等同于 stretch
    移动端(三)CSS3 flex弹性盒子模型
div {
            display: flex;
            width: 80%;
            height: 300px;
            background-color: pink;
            /* 让三个子盒子沿着侧轴底侧对齐 */
            align-items: flex-end;
  }
  • 只让3号盒子下来底侧
    移动端(三)CSS3 flex弹性盒子模型
div span:nth-child(3) {
    align-self: flex-end;
}

order属性

  • 定义项目的排列顺序
  • 数值越小,排列越靠前,默认为0
    移动端(三)CSS3 flex弹性盒子模型
   div span:nth-child(2) {
        /* 默认是0   -1比0小所以在前面 */
        order: -1;
    }
上一篇:弹性布局(display:flex;)属性详解


下一篇:js实现盒子水平垂直居中