# flex

flex CSS 简写属性设置了弹性项目如何增大或缩小以适应其弹性容器中可用的空间。

# uni-app x 兼容性

Web Android iOS
4.0 3.9 4.11

# 语法

flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ];

# flex 的属性值

名称 兼容性 描述
initial
元素会根据自身宽高设置尺寸。它会缩短自身以适应 flex 容器,但不会伸长并吸收 flex 容器中的额外自由空间来适应 flex 容器。相当于将属性设置为"flex: 0 1 auto"。
auto
元素会根据自身的宽度与高度来确定尺寸,但是会伸长并吸收 flex 容器中额外的自由空间,也会缩短自身来适应 flex 容器。这相当于将属性设置为 "flex: 1 1 auto".
none
元素会根据自身宽高来设置尺寸。它是完全非弹性的:既不会缩短,也不会伸长来适应 flex 容器。相当于将属性设置为"flex: 0 0 auto"。

# 默认值

平台 默认值
uvue none

注意:W3C 默认值为:initial

# 示例

hello uni-app x

扫码体验(手机浏览器跳转到App直达页)

Template

Script

<template>
  <view class="page" style="flex:1">
    <view class="head">
      <text class="tip">下面有一个灰色区域,display默认值为flex</text>
      <text class="tip">当前display值:{{display}}</text>
    </view>
    <view class="content" :style="{display:display}">
      <text style="background-color: aquamarine;">展示display区域</text>
    </view>
    <button @tap="switchDisplay">切换display属性</button>
  </view>
</template>



<style>
  .page {
    align-items: center;
    height: 100%;
  }

  .head {
    margin-top: 10px;
    margin-bottom: 10px;
    align-items: center;
  }

  .tip {
    color: red;
  }

  .content {
    border: 5px dotted blue;
    margin: 50px 0px;
    padding: 50px;
    width: 200px;
    height: 200px;
    background-color: gray;
    align-items: center;
    justify-content: center;
  }
</style>

# 参见