要使用纯CSS创建翻牌动画,可以利用@keyframes
规则来定义动画,并使用CSS的transform
属性来实现翻牌效果。以下是一个简单的例子:
HTML:
<div class="flip-card">
<div class="flip-card-inner">
<div class="flip-card-front">
正面
</div>
<div class="flip-card-back">
背面
</div>
</div>
</div>
<button id="flip">翻牌</button>
CSS:
.flip-card {
perspective: 1000px;
width: 300px;
height: 200px;
}
.flip-card-inner {
transition: transform 0.6s;
transform-style: preserve-3d;
position: relative;
}
.flip-card-front, .flip-card-back {
backface-visibility: hidden;
position: absolute;
width: 100%;
height: 100%;
}
.flip-card-back {
transform: rotateY(180deg);
}
#flip:hover + .flip-card .flip-card-inner {
transform: rotateY(180deg);
}
这段代码中,.flip-card
是包含卡片的容器,.flip-card-inner
是内部容器,用于包含卡片的正反面。.flip-card-front
是卡片的正面,.flip-card-back
是卡片的背面。当用户悬停在按钮上时,卡片翻转到背面。
注意:这个例子使用了hover
状态来触发动画,实际应用中可能需要使用JavaScript来控制翻牌状态。