flexbox(弹性盒布局模型)是什么,适用什么场景?

144 阅读1分钟

flex布局.png

CSS中的 “flex:1;” 是什么意思?

flex 是 flex-grow, flex-shrink 和 flex-basis的简写。

除了auto (1 1 auto) 和 none (0 0 auto)这两个快捷值外,还有以下设置方式:

  • 1.当flex 取值为一个非负数字 则该数字为 flex-grow 值,flex-shrink 取 1,flex-basis 取 0%

image.png

  • 2.当flex 取值为 0 时,对应的三个值分别为 0 1 0%

image.png

  • 3.当flex 取值为一个长度或百分比, 则视为 flex-basis值,flex-grow 取 1,flex-shrink 取 1,有如下等同情况(注意 0% 是一个百分比而不是一个非负数字)

image.png

  • 4.当 flex 取值为两个非负数字,则分别视为 flex-grow 和 flex-shrink 的值,flex-basis 取 0%,如下是等同的:

image.png

  • 5.当 flex 取值为一个非负数字和一个长度或百分比,则分别视为 flex-grow 和 flex-basis 的值,flex-shrink 取 1,如下是等同的:

image.png

第二个子元素的高度是多少

image.png 答案:100px

Flex 布局会默认:

  • 把所有子项变成水平排列。
  • 默认不自动换行。
  • 让子项与其内容等宽,并把所有子项的高度变为最高子项的高度