flex布局

flex布局

  • 操作方便,布局及其简单,移动端应用比较广泛
  • IE11或者更低版本不支持flex或者仅支持部分

flex布局原理

  • flex 是 flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为 flex 布局。
  • 当我们为父盒子设为 flex 布局以后,子元素的 float、clear 和 vertical-align 属性将失效。
  • flex布局又叫伸缩布局 、弹性布局 、伸缩盒布局 、弹性盒布局
  • 采用 Flex 布局的元素,称为 Flex 容器(flexcontainer),简称"容器"。
  • 它的所有子元素自动成为容器成员,称为 Flex 项目(flexitem),简称"项目"。

总结:就是通过给父盒子添加flex属性,来控制子盒子的位置和排列方式

父项常见属性

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

flex-direction

  • 设置主轴放向
  • row       默认值从左到右
  • row-reverse    从右到左
  • column      从上到下
  • column-reverse   从下到上

justify-content

  • 设置主轴上子元素排列方式
  • flex-start      默认值从头部开始
  • flex-end       从尾部开始排列
  • center       在主轴居中对齐
  • space-around     平分剩余空间
  • space-between   先俩边贴边在平分剩余空间

flex-wrap

  • 设置是否换行
  • nowrap   默认不换行
  • wrap    换行

align-items

  • 设置侧轴上的子元素排列方式(单行情况)
  • flex-start   从头部开始
  • flex-end    从尾部开始
  • center    居中显示
  • stretch      拉伸

align-content

  • 设置侧轴上的子元素排序(多行情况)
  • flex-start      默认在侧轴的头部开始排列
  • flex-end       在侧轴的尾部开始排列
  • center       在侧轴中间显示
  • space-around     子项在侧轴平分剩余空间
  • space-between   子项在侧轴先分布在两头,在平分剩余空间
  • stretch       设置子项元素高度平分父元素高度

align-content 和align-items区别

  • align-items 适用于单行情况下, 只有上对齐、下对齐、居中和 拉伸
  • align-content适应于换行(多行)的情况下(单行情况下无效), 可以设置 上对齐、下对齐、居中、拉伸以及平均分配剩余空间等属性值。
  • 总结就是单行找align-items 多行找 align-content

复合属性

flex-flow == flex-direction + flex-wrap

例:flex-flow: row wrap;

子项常见属性

  • flex子项目占的份数

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

  • align-self控制子项自己在侧轴的排列方式

align-self 属性允许单个项目有与其他项目不一样的对齐方式,可覆盖 align-items 属性。
默认值为 auto,表示继承父元素的 align-items 属性,如果没有父元素,则等同于 stretch。

  • order属性定义子项的排列顺序(前后顺序)

数值越小,排列越靠前,默认为0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值