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

React中Tailwind CSS的transition属性不生效问题求助

问题原因及解决方案

你的问题出在动态拼接Tailwind类名的方式上。Tailwind CSS是通过静态扫描代码中的类名来生成对应CSS的,像opacity-${showCart ? "100" : "0"}这种动态拼接的类名,Tailwind在构建时识别不出来,所以不会生成opacity-100和opacity-0的样式,自然就没有过渡效果。

解决方法很简单,直接把完整的类名写在条件判断里:

<div id="cart" className={`relative transition-opacity duration-500 ${showCart ? 'opacity-100' : 'opacity-0'}`}>

如果项目里类名条件判断比较多,也可以用clsx库来简化写法(需要先安装):

import clsx from 'clsx';

// 组件内使用
<div id="cart" className={clsx(
  'relative transition-opacity duration-500',
  { 'opacity-100': showCart },
  { 'opacity-0': !showCart }
)}>

这样Tailwind就能正确识别到所有需要的类名,生成对应的样式,透明度过渡效果就会正常生效了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 19:12:02