【发布时间】:2021-08-10 03:56:34
【问题描述】:
我已经设法在 React 中构建了一张正面和背面的卡片,并让它在悬停时通过 CSS 成功翻转。但是,我想在点击/触摸时翻转它。
我尝试将转换属性设置为一个类并在点击时切换该类,但没有成功。
你会如何做到这一点?
这就是我目前通过悬停翻转它的方式:
.card {
position: relative;
perspective: 800px;
transition: transform 1s ease;
perspective: 1000px;
}
.card > * {
width: 10rem;
transition: transform 1s ease;
backface-visibility: hidden;
}
.card:hover > .card__front {
transform: rotateY(180deg);
}
.card:hover > .card__back {
transform: rotateY(0);
}
还有我的 JSX
<div className={styles.card} >
{/* FRONTSIDE */}
<div className={styles.card__front}>
//FRONTSIDE CONTENT
</div>
{/* BACKSIDE */}
<div className={styles.card__back}>
//BACKSIDE CONTENT
</div>
</div>
更新
此功能有效,它在我想要的元素上打开和关闭翻转类。但是,一旦添加了类,就不会发生动画。 .flip 类的作用与 :hover 完全相同。
//function to toggle class
const flip = (element) => {
console.log(element);
element.classList.toggle("flip");
};
//the css class
.flip {
transform: rotateY(180deg);
}
【问题讨论】:
标签: css reactjs animation flip card