flex布局

2020-11-20  本文已影响0人  xiaohan_zhang
认识flex布局

开启了flex布局的元素叫flex container
flex container里面的直接子元素叫做flex items

开启flex布局方式:
设置display: flex; flex container以block-level形式存在
设置display: inline-flex; flex container以inline-level形式存在

flex布局模型
flex布局模型
flex相关属性
nowrap
wrap
wrap-reverse
  1. flex-glow决定了flex items如何扩展
    可以设置任意非负数字(正小数、正整数、0),默认值是0;
    当flex container在main axis方向上有剩余size时,flex-grow属性才会生效;
  2. 如果所有flex items的flex-grow总和sum 大于1,每个flex items扩展的size为flex container的剩余size * flex-grow / sum(按flex-grow比例分);
  3. 如果所有flex items的flex-grow总和sum 小于1,每个flex items扩展的size为flex container的剩余size * flex-grow(按flex-grow比例分);
    flex items扩展后的最终size不能超过max-width\max-height;
  1. flex-shrink 决定了flex items 如何收缩
    可以设置任意非负数字(正小数、正整数、0),默认值是1;
    当flex items 在main axis方向上超过了flex container 的 size,flex-shrink属性才会生效;
  2. 如果所有flex items的flex-shrink总和大于1,每个flex items收缩的size为:
    flex items超出flex container的size * 收缩比例 / 所有flex items的收缩比例之和
  3. 如果所有flex items的flex-shrink总和小于1,每个flex item收缩的size为:
    flex items超出flex container的size * sum * 所有flex items的收缩比例之和
    收缩比例 = flex-shrink * flex item的base size
    base size就是flex item放入flex container之前的size

注:flex items 收缩后的最终size不能小于min-width\min-height

  决定flex items最终base size的因素,从优先级高到低:
   max-width\max-height\min-width\min-height
   flex-basis
   width\height
   内容本身的size


auto
200px
上一篇 下一篇

猜你喜欢

热点阅读