# width

width 属性用于设置元素的宽度。width 默认设置内容区域的宽度,但如果 box-sizing 属性被设置为 border-box,就转而设置边框区域的宽度。

# uni-app x 兼容性

Web Android iOS HarmonyOS
4.0 3.9 4.11 4.61

# 语法

width: <viewport-length>{1,2};

# width 的属性值

名称 兼容性 描述
auto
浏览器将会为指定的元素计算并选择一个宽度。
fit-content
取以下两种值中的较大值:

固有的最小宽度
固有首选宽度(max-content)和可用宽度(available)两者中的较小值

可表示为:min(max-content, max(min-content, <length-percentage>))
max-content
元素内容固有的(intrinsic)合适宽度。
min-content
元素内容固有的最小宽度。

注意

属性值为长度 <length> 时,App平台可以不设置单位,Web端必须设置单位,详情参考长度单位

# 默认值

auto

# 示例

hello uni-app x

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

Template

Script

<template>
  <!-- #ifdef APP -->
  <scroll-view style="flex: 1">
  <!-- #endif -->
  <view style="flex-grow: 1;">
    <view>
      <text>width: 250px</text>
      <view class="common" style="width: 250px;"></view>
    </view>

    <view style="width: 250px;">
      <text>width: 50%</text>
      <view class="common" style="width: 50%;"></view>
    </view>

    <view>
      <text>width: 250rpx</text>
      <view class="common" style="width: 250rpx;"></view>
    </view>

    <view class="container">
      <text>嵌套子元素测试 v-deep width: 150rpx</text>
      <child-width-uvue></child-width-uvue>
    </view>
  </view>
  <!-- #ifdef APP -->
  </scroll-view>
  <!-- #endif -->
</template>



<style>
  .common {
    height: 250px;
    background-color: red;
  }

  .container ::v-deep .box {
    width: 150px;
    height: 150px;
  }
</style>

# 参见