css 篇 弹性布局 --- flex

204 阅读2分钟

弹性布局回顾

现代 web 开发要求,网页应该尽量满足不同设备的大小要求,灵活显示网页内容

  • display:flex
  1. 属性
  • display-direction 可指定容器的主轴及排列方向
  1. row 默认值,从左至右
  2. row-reverse 从右向左排列
  3. column 从上到下
  4. column-reverse 从下到上排列
  • flex-wrap 是否换行显示
  1. no-wrap 默认值,不换行,父空间不够也不进行换行,所有子元素项目等比缩小
  2. warp 换行,当容器放不下时,自动换行,不缩小
  • flex-flow 是flex-direction 和 flex-wrap 两个属性的简写
  1. flex-flow : flex-direction flex-wrap
  • justity-content 定义主轴上的对齐方式 (X轴)
  1. flex-start 左对齐,左到右排列
  2. flex-end 右对齐,右到左排列
  3. cneter 居中对齐
  4. space-between 两端对齐,左右靠边对齐,中间等距排列
  5. space-around 每一个元素两端间距相等,均等分配
  • aligin-items 在交叉轴上的对齐方式(Y轴)
  1. flex-start 顶对齐
  2. flex-end 低对齐
  3. chenter 垂直方向居中对齐
  4. baseline 以内容文字的基线对齐
  5. stretch 表示如果项目未设置尺寸,就让项目在交叉轴上占满所有空间,所有子元素项,垂直方向拉伸,默认沾满高度

项目属性:除了可以对父容器设置属性外,还可以对项目设置属性

  • order 专门定义项目在主轴上的排序顺序 其值为整数,无需单位,值越小越靠近起点,默认值 0
  • flex-grow 专门定义项目放大比例
  1. 如果容器有足够的空间,项目可以放大
  2. 其数组为整数,无需单位
  3. 默认情况项目不放大,默认值0
  4. 取值越大,占据剩余的空间越多
  5. 取值一样,则占据的空间始终一样大
  • flex-shrink 专门定义项目的缩小比例
  1. 如果容器空间不足时,项目可以缩小
  2. 缩小的比例取决于flex-shrink值
  3. 默认值1,表示空间不足时,则等比缩小,可改为 0 ,表示不缩小
  • align-self 专门单独定义某一个项目在交叉轴上的对齐方式
  1. 与align-items 定义在父容器上约束所有项目的统一对齐方式 align-self 定义在项目上,只约束当前所在的一个项目
  2. 其取值和align-items完全一样,只是多了一个auto值,表示继承父元素的align-items效果