Flex布局详解

150 阅读2分钟

flex布局父项常见属性

  • flex-direction:设置主轴(x轴)方向
  • justify-content:设置朱抽上的子元素排列方式
  • flex-wrap:设置子元素是否换行
  • align-items:设置侧轴(y轴)上的子元素排列方式(多行)
  • flex-flow:复合属性,相当于同时设置了flex-derection和flex-wrap属性

flex-directon * 设置主轴的方向

子元素跟着主轴来排列,默认主轴为x轴,默认侧轴为y轴,设置属性为column可以把主轴换成y轴

属性值说明
row默认值从左到右
row-reverse从右到左
column从上到下
column-reverse从上到下

justify-content * 设置主轴上的子元素排列方式

属性值说明
flex-start默认值:从头部开始,如果是主轴,则从左到右
flex-end从尾部开始排列
center从在主轴居中对齐(如果主轴是x轴则水平居中)
space-around平分剩余空间
space-between先两边贴边,再平分剩余空间*

flex-wrap 子元素是否换行

flex布局中,默认子元素不换行,如果装不下,会缩小元素的宽度,放到父元素里面

属性值说明
wrap换行
no-wrap默认不换行

align-items* 设置侧轴的上的子元素排列方式

属性值说明
flex-start默认值 从上到下
flex-end从下到上
center垂直居中
streth拉伸,沿着侧轴拉伸,但是子盒子不能给高度

align-content 设置侧轴上的子元素的排列方式(多行,单行无效果)

属性值说明
flex-start默认值 从上到下
flex-end从下到上
center垂直居中
space-between侧轴贴边对齐
space-around侧轴平分剩余空间
streth设置子项元素高度平分父元素高度

flex-flow属性 是flex-direction和flex-wrap的复合属性

用法: flex-flow: row wrap

flex布局子项常见属性

  • flex 属性* 定义子项目分配剩余空间,用flex表现占多份

  • align-self属性 设置某个盒子在侧轴上的排列方式 span:ntn-chid(2) { align-self: flex-end;//设置自己在侧轴上的排列方式 }

  • order属性:定义项目的排列顺序

数值越小,排列越靠前,默认为0,和z-index不同