一、简介

手机端和网页端应用最多的布局方式,不支持IE版本小于10的浏览器

二、基本概念

CSS:Flex布局精简笔记

  • 主轴:main axis ,部件排列方向
  • 交叉轴:cross axis,部件副轴
  • 开启方式:flex container 的div只要开启display : flex,即可
container属性名 属性意义 item属性名 属性意义
flex-flow flex-direction和flex-wrap合写 flex 下面三个复合写法
flex-direction 设定flex-items排布的主轴 flex-grow item沿主轴宽度
flex-wrap 设定flex-items是否自动换行 flex-basis
justify-content flex-items在主轴上的分布 flex-shrink
align-items flex-items在交叉轴上的对齐方式 order item设定序号
align-content flex-items在交叉轴上的分布 align-self item对齐属性

三、flex-container属性

  • 位置:放在父盒子里的CSS里
  • 功能:调整子盒子位置

3.1 主轴方向:flex-direction

默认为第一种display: row
CSS:Flex布局精简笔记


3.2 自动换行:flex-wrap

  • 不换号(默认):nowrap,当大于父盒子宽度,压缩所有子盒子,使每个子盒子宽度相等
  • 换行:wrap,当大于父盒子宽度,自动换行,可结合align-content一起使用
  • 换行并翻转(较少):wrap-reverse,沿着父盒子的水平方向中线翻转子盒子

3.3 主轴上的内容分布:justify-content

灰色为背景,粉、绿、紫为flex-item元素,默认为第一种
CSS:Flex布局精简笔记

补充:flex-evenly:flex-items之间的距离相等,且等于flex-items到父盒子边界的距离


3.4 交叉轴对齐基准线:align-items

默认为第一种:flex-start
CSS:Flex布局精简笔记


3.5 交叉轴上的内容分布:align-content

参考3.3

四、flex-items属性

4.1 综合属性:flex

  • 若只有一个属性,则为flex-grow

4.2 item沿主轴宽度:flex-grow

  • 若为小数,则主轴方向宽度为100%,各子盒子按百分数分布
  • 若为整数,则按权重分配各子盒子

4.1 序号属性:order

  • 在flex-items的CSS属性中加order : 数字,可以让子盒子按顺序从小到大排列

4.1 对齐属性:align-self

  • 在flex-items的CSS属性中加align-self : center,可以使单个item对齐方式覆盖父盒子的

相关文章: