flex相关的属性(三)

103 阅读1分钟

flex-item属性 - flex-grow

flex-grow 决定了 flex items 如何扩展(拉伸/成长)。可以设置任意非负数字(正小数、正整数、0),默认值是 0。当 flex container 在 main axis 方向上有剩余 size 时,flex-grow 属性才会有效。如果所有 flex items 的 flex-grow 总和 sum 超过 1,每个 flex item 扩展的 size 为flex container 的剩余 size * flex-grow / sum。flex items 扩展后的最终 size 不能超过 max-width\max-height。

flex-item属性 - flex-shrink

flex-shrink 决定了 flex items 如何收缩(缩小)。可以设置任意非负数字(正小数、正整数、0),默认值是 1。当 flex items 在 main axis 方向上超过了 flex container 的 size,flex-shrink 属性才会有效。如果所有 flex items 的 flex-shrink 总和超过 1,每个 flex item 收缩的 size为:flex items 超出 flex container 的 size * 收缩比例 / 所有 flex items 的收缩比例之和。

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

flex-item属性 - flex-basis

flex-basis 用来设置 flex items 在 main axis 方向上的 base size:auto(默认值)、具体的宽度数值(100px)。

决定 flex items 最终 base size 的因素,从优先级高到低:

  • max-width\max-height\min-width\min-height
  • flex-basis
  • width\height
  • 内容本身的 size