如何解决为什么CSS过渡无法在ReactJS中正确呈现?
我做了一个简单的容器组件。在切换按钮上,按打开容器,然后再次按关闭容器。我在CSS中进行了过渡以对其进行动画处理(目前从0px增长到200px)。
问题是我的过渡不起作用(显示)。我不删除组件,只是更新它。我的容器上没有地图功能。
const ToggleButton = (props) => {
return (
<div className={classes.button} {...props}>
{props.toggle ? (
<ToggleLess className={classes.button_icon} />
) : (
<ToggleMore className={classes.button_icon} />
)}
</div>
);
};
const ToggleContainer = () => {
const [toggle,setToggle] = useState(false);
const handleClick = () => {
setToggle(!toggle);
console.log(toggle);
};
return (
<div>
<div className={`contents ${toggle ? "on" : ""}`}>
<p>Hy</p>
</div>
<ToggleButton toggle={toggle && true} onClick={handleClick} />
</div>
);
};
export default ToggleContainer;
.contents {
max-height: 0px;
transition: all 1s ease-in;
}
.contents.on{
min-height: 200px;
}
注意:和只是导入的svg文件。
我记录了不同的堆栈答案,但似乎无济于事。
解决方法
.contents{
min-height: 0px;
transition: all 1s ease-in;
&.on{
min-height: 200px;
}
}
我必须设置所有非最小高度,以更具体地说明@Thomas所说的最小高度!=最大高度。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。