要使用 CSS 实现卡片动画效果,可以使用 CSS3 中的 @keyframes 规则和 transform 属性。以下是实现卡片翻转效果的示例代码:
HTML部分:
<div class="card">
<div class="card-front">正面</div>
<div class="card-back">反面</div>
</div>
CSS部分:
.card {
position: relative;
width: 200px;
height: 200px;
perspective: 800px; /* 设置透视距离 */
}
.card-front,
.card-back {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
backface-visibility: hidden; /* 隐藏元素的背面 */
transition: transform 0.6s ease; /* 添加过渡效果 */
}
.card-front {
background-color: #f00;
z-index: 2; /* 设置 z-index 值,使正面在上层 */
}
.card-back {
background-color: #00f;
transform: rotateY(180deg); /* 将反面翻转180度,初始状态为不可见 */
}
.card:hover .card-front {
transform: rotateY(180deg); /* 当鼠标悬停在卡片上时,正面翻转180度,显示反面 */
}
.card:hover .card-back {
transform: rotateY(0deg); /* 当鼠标悬停在卡片上时,反面翻转180度,显示正面 */
}
关键词高亮: