要实现卡片翻转效果,需结合CSS的perspective、transform-style和backface-visibility属性。1. 构建包含正反面的.card容器,设置perspective营造3D视觉;2. .card-face共用绝对定位与隐藏背面,front初始rotateY(0deg),back为rotateY(180deg);3. 通过@keyframes定义从0deg到180deg的rotateY动画,配合infinite alternate实现循环翻转;4. 添加ease-in-out缓动、hover触发或调整perspective值优化视觉体验。核心是preserve-3d保持3D空间,确保翻转流畅自然。

要实现卡片翻转效果,核心是利用 CSS 的 transform 和 perspective 属性配合 animation 来创建 3D 翻转动画。关键在于设置正确的 3D 空间和翻转轴。
先构建一个包含正反面的卡片容器:
<div class="card"> <div class="card-face front">正面</div> <div class="card-face back">反面</div> </div>
为容器设置透视效果,让 3D 变化更真实:
以下是实现翻转的核心样式:
立即学习“前端免费学习笔记(深入)”;
.card {
width: 200px;
height: 300px;
position: relative;
perspective: 1000px;
animation: flip 3s infinite alternate;
}
.card-face {
width: 100%;
height: 100%;
position: absolute;
backface-visibility: hidden;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5em;
color: white;
}
.front {
background: #3498db;
transform: rotateY(0deg);
}
.back {
background: #e74c3c;
transform: rotateY(180deg);
}
使用 @keyframes 创建动画,绕 Y 轴旋转 180 度:
@keyframes flip {
from {
transform: rotateY(0deg);
}
to {
transform: rotateY(180deg);
}
}
动画过程中,front 面从 0° 转到 180°,back 面也同步翻转但因背面不可见,正好在 180° 时显示其正面。
animation: flip 3s ease-in-out infinite alternate;
.card:hover { transform: rotateY(180deg); } 并移除 animation以上就是如何用css animation实现卡片翻转效果的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号