css实现翻牌效果动画
时间: 2023-08-26 18:05:00 浏览: 138
CSS翻牌效果实现方式
CSS实现翻牌效果动画可以使用CSS 3D转换和CSS动画来实现。以下是实现的步骤:
1. 创建一个容器,用于包含翻转的两个面。
2. 给容器添加一个透视效果,使其能够呈现出三维效果。
```
.container {
perspective: 1000px;
}
```
3. 创建两个面,分别用于显示正面和背面的内容,并将它们放置在容器中。
```
<div class="container">
<div class="card">
<div class="front">正面</div>
<div class="back">背面</div>
</div>
</div>
```
4. 使用CSS 3D转换将背面旋转180度,并设置初始状态为不可见。
```
.card {
transform-style: preserve-3d;
transition: all 0.5s ease;
}
.back {
transform: rotateY(180deg);
display: none;
}
```
5. 使用CSS动画在容器的鼠标悬停事件时触发翻转效果,并切换正反面的可见状态。
```
.container:hover .card {
transform: rotateY(180deg);
}
.container:hover .card .front {
display: none;
}
.container:hover .card .back {
display: block;
}
```
完整的代码如下:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>翻牌效果动画</title>
<style>
.container {
perspective: 1000px;
width: 200px;
height: 200px;
}
.card {
position: relative;
width: 100%;
height: 100%;
transform-style: preserve-3d;
transition: all 0.5s ease;
}
.front, .back {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
backface-visibility: hidden;
}
.front {
background-color: #e74c3c;
color: #fff;
}
.back {
background-color: #2ecc71;
color: #fff;
transform: rotateY(180deg);
display: none;
}
.container:hover .card {
transform: rotateY(180deg);
}
.container:hover .card .front {
display: none;
}
.container:hover .card .back {
display: block;
}
</style>
</head>
<body>
<div class="container">
<div class="card">
<div class="front">正面</div>
<div class="back">背面</div>
</div>
</div>
</body>
</html>
```
阅读全文