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