You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Tailwind CSS/NativeWind中实现可变宽度进度条

解决方案

要实现仅用Tailwind工具类设置子View宽度为父View的百分比,你需要把百分比符号正确包含在Tailwind的自定义宽度类中,以下是两种可行方式:

方式一:直接拼接百分比符号到自定义类

将%符号和动态值一起放入方括号内,Tailwind就能识别这是百分比宽度:

<View className='w-full h-10 bg-blue-500'>
    <View className={`w-[${percentage}%] h-10 bg-blue-300`}/>
</View>

比如当percentage为60时,生成的类是w-[60%],Tailwind会正确解析这个百分比宽度。

方式二:使用CSS变量(更适合动态更新场景)

如果百分比需要频繁更新,用CSS变量结合Tailwind自定义类更灵活:

<View className='w-full h-10 bg-blue-500' style={{ '--progress-width': `${percentage}%` }}>
    <View className='w-[var(--progress-width)] h-10 bg-blue-300'/>
</View>

父元素通过style设置CSS变量,子元素用Tailwind的w-[var(--xxx)]语法引用变量,既满足仅用子元素className的需求,又能灵活控制宽度。

注意:确保你的Tailwind配置启用了JIT模式(Tailwind v3及以上默认启用),这样自定义的宽度类才能被正确生成。

内容的提问来源于stack exchange,提问作者jNiuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 19:25:27