0
我有一个反应组件,当单击包装它的父级div时,我想显示或隐藏它。 我想为它们出现时和消失时添加动画。ScaleY转换不起作用
目前只有当它出现时才起作用,我做错了什么? 感谢
阵营组件
import React from 'react';
import classNames from 'classnames/bind';
import styles from './styles.css';
const cx = classNames.bind(styles);
export default function toggleableElement({ isOpen, content }) {
const animatedAnswerStyle = cx({
animatedAnswer: true,
opened: isOpen,
closed: !isOpen,
});
return (
<div className={animatedAnswerStyle}>
{
isOpen &&
<p> { content } </p>
}
</div>
);
}
风格
.animatedAnswer {
transform: scaleY(0);
}
.opened {
transform: scaleY(1);
tranform-origin: top;
transition: transform 2s cubic-bezier(0.4, 0.0, 0.2, 1);
}
.closed {
transform: scaleY(0);
tranform-origin: top;
transition: transform 2s cubic-bezier(0.4, 0.0, 0.2, 1);
}
如果在规则集中为.animatedAnswer而不是.opened和.closed添加转换,会发生什么情况? – klumme
只有一个规则集时,如何在打开时将其从0缩放到1,并在关闭时缩回到0? –
我的意思是在.animatedAnswer中只放入'过渡'声明,在其他两个规则集中保留'transform'和'transform-origin'。 – klumme