flex布局

273 阅读2分钟

flex布局简介

flex布局,简称“弹性布局”,为盒子布局实现了最大的灵活性
2009年,w3c提出一种新型布局方式,可以简便、完整、响应式地实现各种页面布局。
该布局将成为未来布局的首选方案

flex布局的浏览器兼容

flex的基本参数简介

容器属性

flex-direction:主轴排列方向
  [row](:默认)左右排列,从左开始
  [row-reverse]:左右排列,从右开始
  [column]:上下排列,从上开始
  [column-reverse]:上下排列,从下开始
  
flex-wrap:一行溢出排列方式
  [nowrap](默认):溢出后不换行,按宽度比例显示
  [wrap]:溢出后换行显示,显示样式跟随 [align-content]
  [wrap-reverse]:溢出后换行,第一行在上面
  
flex-flow:主轴排列方向 || 一行溢出排列方式(将两个缩写)
  [row wrap](默认)
  
justify-content:项目主轴上的对齐方式
  [flex-start] (默认):从左向右
  [flex-end]:从右向左
  [center ]:中间对齐
  [space-between]:中间开花,两边靠边
  [space-around]:中间开花,其余间距平均分
  
align-items:box在交叉轴的对齐方式
  [stretch](默认):如果项目未设置高度或设为auto,将占满整个容器的高度
  [flex-start]:交叉起点对齐
  [flex-end]:交叉终点对齐 
  [center]:交叉中间对齐  
  [baseline]:拉伸盒子

项目属性

order:定义项目的排列顺序,数值越小,排列越靠前,默认为0。
  .item {
    order: <integer>;
  }
  
flex-grow:定义box的放大比例
  0(默认):不放大
  其他:根据同行的box元素比例放大
  
flex-shrink:定义box的放大比例
  1(默认):缩小
  其他:定义box的缩小比例
  
flex-basis: box占主轴空间,根据这个属性计算剩余空间
 auto(默认):空间不够会压缩
 其他:跟着定义走
 
flex:flex-grow flex-shrink flex-basis;
 0 0 none :不放大 不缩小 不跟着剩余空间改变
 1 1 auto :放大 缩小 跟着剩余空间改变
 
align-self:允许某一个跟其他对齐方式不一样