Skip to content

flex ​

flex 属性是一个简写属性,用于设置 Flexbox 项目的弹性行为。

语法 ​

css
flex: flex-grow flex-shrink flex-basis;

属性值 ​

值说明示例
auto1 1 autoflex: auto
none0 0 autoflex: none
growgrow 1 autoflex: 1
grow shrinkgrow shrink autoflex: 1 1
grow shrink basisgrow shrink basisflex: 1 1 100px

示例 ​

基础用法 ​

css
/* 项目占据所有可用空间 */
.item {
  flex: 1;
}

/* 项目不伸缩 */
.item {
  flex: none;
}

/* 项目根据内容大小伸缩 */
.item {
  flex: auto;
}

/* 项目占据两倍空间 */
.item {
  flex: 2;
}

高级用法 ​

css
/* 容器 */
.container {
  display: flex;
}

/* 项目 1:占据 2 倍空间 */
.item-1 {
  flex: 2;
}

/* 项目 2:占据 1 倍空间 */
.item-2 {
  flex: 1;
}

/* 项目 3:占据 1 倍空间 */
.item-3 {
  flex: 1;
}

浏览器兼容性 ​

浏览器版本
Chrome29+
Firefox28+
Safari9+
Edge12+
iOS Safari9.2+
Android Browser4.4+
Chrome for Android62+

注意事项 ​

  • flex: 1 等同于 flex: 1 1 0%
  • flex: auto 等同于 flex: 1 1 auto
  • flex: none 等同于 flex: 0 0 auto
  • 当 flex-basis 为 auto 时,项目大小基于内容
  • 当 flex-basis 为 0% 时,项目大小基于比例分配

相关属性 ​

相关资源 ​