css制作翻牌
使用CSS制作翻牌效果
翻牌效果通常用于卡片翻转或展示隐藏内容,结合CSS的transform和transition属性实现。以下是两种常见实现方式:
基础翻牌效果(3D翻转)
<div class="flip-card">
<div class="flip-card-inner">
<div class="flip-card-front">
Front Content
</div>
<div class="flip-card-back">
Back Content
</div>
</div>
</div>
.flip-card {
perspective: 1000px;
width: 200px;
height: 200px;
}
.flip-card-inner {
position: relative;
width: 100%;
height: 100%;
transition: transform 0.6s;
transform-style: preserve-3d;
}
.flip-card:hover .flip-card-inner {
transform: rotateY(180deg);
}
.flip-card-front, .flip-card-back {
position: absolute;
width: 100%;
height: 100%;
backface-visibility: hidden;
}
.flip-card-back {
transform: rotateY(180deg);
}
点击触发的翻牌效果
通过添加active类实现点击控制:
document.querySelector('.flip-card').addEventListener('click', function() {
this.classList.toggle('active');
});
.flip-card.active .flip-card-inner {
transform: rotateY(180deg);
}
进阶技巧
- 双面样式:为正面和背面设置不同的背景色、图片或内容
- 延迟动画:通过
transition-delay实现多阶段动画 - 其他轴翻转:使用
rotateX()实现垂直翻转效果 - 阴影效果:添加
box-shadow增强立体感
关键属性说明:
perspective:定义3D空间的观察距离transform-style: preserve-3d:保持子元素的3D空间关系backface-visibility: hidden:隐藏元素背面
实际应用时可调整尺寸、过渡时间和翻转方向以适应不同场景需求。







