css3动画实例 摩天轮
时间: 2024-05-19 20:07:25 浏览: 18
以下是一个使用CSS3动画实现摩天轮的例子:
```html
<!DOCTYPE html>
<html>
<head>
<title>CSS3 Animation Ferris Wheel</title>
<style type="text/css">
.container {
position: relative;
margin: 0 auto;
width: 400px;
height: 400px;
perspective: 1000px;
}
.wheel {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) rotateX(60deg);
animation: rotate 10s linear infinite;
transform-style: preserve-3d;
}
.wheel .spoke {
position: absolute;
top: 0;
left: 50%;
width: 2px;
height: 100px;
background-color: #000;
transform-origin: bottom center;
animation: rotate 10s linear infinite;
}
.wheel .spoke:nth-child(1) {
transform: rotateZ(0deg);
}
.wheel .spoke:nth-child(2) {
transform: rotateZ(45deg);
}
.wheel .spoke:nth-child(3) {
transform: rotateZ(90deg);
}
.wheel .spoke:nth-child(4) {
transform: rotateZ(135deg);
}
.wheel .spoke:nth-child(5) {
transform: rotateZ(180deg);
}
.wheel .spoke:nth-child(6) {
transform: rotateZ(225deg);
}
.wheel .spoke:nth-child(7) {
transform: rotateZ(270deg);
}
.wheel .spoke:nth-child(8) {
transform: rotateZ(315deg);
}
.wheel .car {
position: absolute;
top: 0;
left: 50%;
width: 50px;
height: 50px;
background-color: #f00;
border-radius: 50%;
transform-origin: bottom center;
animation: rotate 10s linear infinite;
animation-delay: 2s;
transform-style: preserve-3d;
}
.wheel .car .box {
position: absolute;
top: 0;
left: 0;
width: 50px;
height: 50px;
background-color: #0f0;
transform-origin: bottom center;
animation: rotate 10s linear infinite;
transform-style: preserve-3d;
}
.wheel .car .box .door {
position: absolute;
top: 0;
left: 0;
width: 25px;
height: 50px;
background-color: #00f;
transform-origin: bottom center;
animation: rotate 10s linear infinite;
transform-style: preserve-3d;
}
@keyframes rotate {
from {
transform: rotateY(0deg);
}
to {
transform: rotateY(360deg);
}
}
</style>
</head>
<body>
<div class="container">
<div class="wheel">
<div class="spoke"></div>
<div class="spoke"></div>
<div class="spoke"></div>
<div class="spoke"></div>
<div class="spoke"></div>
<div class="spoke"></div>
<div class="spoke"></div>
<div class="spoke"></div>
<div class="car">
<div class="box">
<div class="door"></div>
</div>
</div>
</div>
</div>
</body>
</html>
```