css制作翻牌
CSS制作翻牌效果
翻牌效果常用于展示卡片翻转的交互,通过CSS的transform和transition属性实现。以下是实现翻牌效果的两种常见方法:
基础翻牌效果
使用transform-style: preserve-3d和backface-visibility实现正反面翻转:

<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: 300px;
}
.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);
}
垂直翻转变体
修改旋转轴可实现垂直翻转效果:
.flip-card:hover .flip-card-inner {
transform: rotateX(180deg);
}
.flip-card-back {
transform: rotateX(180deg);
}
点击触发翻转
通过JavaScript添加点击事件实现手动控制:

document.querySelector('.flip-card').addEventListener('click', function() {
this.classList.toggle('flipped');
});
.flip-card.flipped .flip-card-inner {
transform: rotateY(180deg);
}
3D阴影增强
添加阴影效果增强立体感:
.flip-card {
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.flip-card-back {
background: linear-gradient(45deg, #ff8a00, #e52e71);
}
注意事项:
- 确保容器设置
perspective属性以创建3D空间 - 背面内容需预先旋转180度隐藏
- 移动端需考虑触摸事件兼容性
- 性能优化时可使用
will-change: transform






