【发布时间】:2020-02-16 18:34:55
【问题描述】:
想象一张图片,悬停时放大,未悬停时缩小。如果安装时光标恰好在图片内部,则会播放缩放过渡。
反应:
...
{ visible ?
<IconVisible
className="icon"
onClick={handleOnClick}
/>
:
<IconMasked
className="icon"
onClick={handleOnClick}
/>
}
...
CSS:
.icon {
transition: transform 0.3s ease-in-out;
transform: scale(1)
}
.icon:hover {
transition: transform 0.3s ease-in-out;
transform: scale(1.5)
}
查看the demo
如何禁用这种初始转换?在demo中,图标在点击后不应该收缩和扩大。
一种方法是创建一个与放大版本相同的特殊类(与.icon:hover 相同)并最初添加此类,然后在 useEffect 中删除此类。 缺点是它需要两次渲染,混乱且过于复杂。有没有更简单的解决方案?
【问题讨论】:
-
您是否尝试过使用
unset,可能使用!important作为属性值?我知道这不是最佳实践,但不修改核心文件,它可能是你的工作。例如:transform: unset !important; -
@dmanexe 你的意思是在初始类中添加它?
标签: javascript html css reactjs animation