Daily-Question icon indicating copy to clipboard operation
Daily-Question copied to clipboard

【Q695】Flex 布局中的 flex-basis 与 width 有何区别

Open shfshanyue opened this issue 4 years ago • 4 comments

shfshanyue avatar Aug 11 '21 03:08 shfshanyue

  1. flex-directioncolumn 时,主轴为纵轴,此时 flex-basisheight 对应
  2. flex-basis 的值为理想情况,而在实际情况中可能被压缩

shfshanyue avatar Aug 11 '21 03:08 shfshanyue

flex-basis用于在flex布局时候给定项目的一个初始值, 默认情况下是auto,也就是说根据容器宽度去自动计算,width是给定项目固定宽度。

  1. 当flex布局的主轴是水平方向即flex-direction: row;那么flex-basis设定的就是初始宽度,如果同时存在width,width会覆盖flex-basis属性
  2. 当flex布局的主轴是垂直方向即flex-direction: column;那么flex-basis设定的就是初始高度,如果同时存在height,width会覆盖flex-basis属性; demo示例

Neisun avatar Aug 31 '23 09:08 Neisun

flex-basis用于在flex布局时候给定项目的一个初始值, 默认情况下是auto,也就是说根据容器宽度去自动计算,width是给定项目固定宽度。

  1. 当flex布局的主轴是水平方向即flex-direction: row;那么flex-basis设定的就是初始宽度,如果同时存在width,width会覆盖flex-basis属性
  2. 当flex布局的主轴是垂直方向即flex-direction: column;那么flex-basis设定的就是初始高度,如果同时存在height,width会覆盖flex-basis属性; demo示例

我觉得你说错了,flex-basis设置的宽高的优先级是大于传统的width和height,希望你可以再去看看再来回答。

ainightf avatar Sep 20 '23 13:09 ainightf

flex-basis用于在flex布局时候给定项目的一个初始值, 默认情况下是auto,也就是说根据容器宽度去自动计算,width是给定项目固定宽度。

  1. 当flex布局的主轴是水平方向即flex-direction: row;那么flex-basis设定的就是初始宽度,如果同时存在width,width会覆盖flex-basis属性
  2. 当flex布局的主轴是垂直方向即flex-direction: column;那么flex-basis设定的就是初始高度,如果同时存在height,width会覆盖flex-basis属性; demo示例

说反了,flex-basis优先级更高 Note: In case both flex-basis (other than auto) and width (or height in case of flex-direction: column) are set for an element, flex-basis has priority

javasbot avatar Jun 01 '24 14:06 javasbot