使用CSS3实现摩天轮动画特效

创建一个摩天轮动画特效主要涉及到CSS3的关键帧动画。以下是一个简单的摩天轮动画示例。

HTML 结构:

<div class="ferris-wheel">
    <div class="cabin cabin1"></div>
    <div class="cabin cabin2"></div>
    <div class="cabin cabin3"></div>
    <div class="cabin cabin4"></div>
    <div class="cabin cabin5"></div>
    <div class="cabin cabin6"></div>
</div>

CSS 样式和动画:

.ferris-wheel {
    position: relative;
    width: 200px;
    height: 200px;
    margin: 100px auto;
}

.cabin {
    position: absolute;
    width: 30px;
    height: 30px;
    background-color: red;
    border-radius: 50%;
    animation: ferrisWheel 10s linear infinite;
}

.cabin1 { animation-delay: 0s; top: 0; left: 95px; }
.cabin2 { animation-delay: -8s; top: 30px; left: 155px; }
.cabin3 { animation-delay: -6s; top: 90px; left: 155px; }
.cabin4 { animation-delay: -4s; top: 150px; left: 95px; }
.cabin5 { animation-delay: -2s; top: 150px; left: 35px; }
.cabin6 { top: 90px; left: 35px; }

@keyframes ferrisWheel {
    0% { transform: rotate(0deg) translateX(95px); }
    16.666% { transform: rotate(60deg) translateX(95px); }
    33.333% { transform: rotate(120deg) translateX(95px); }
    50% { transform: rotate(180deg) translateX(95px); }
    66.666% { transform: rotate(240deg) translateX(95px); }
    83.333% { transform: rotate(300deg) translateX(95px); }
    100% { transform: rotate(360deg) translateX(95px); }
}

上述代码中,我们创建了一个摩天轮,包含6个小屋(cabin)。每个小屋都设置了一个动画,使它们围绕摩天轮的中心旋转。通过设置不同的 animation-delay,我们可以让每个小屋在动画中的位置都不同,从而模拟真实的摩天轮效果。

注意,上述示例中的动画效果相对简单,并没有考虑每个小屋自身的旋转等复杂效果。你可以根据自己的需求进一步定制和扩展这个动画。

此外,你还可以使用 JavaScript 或其他前端框架(如 React、Vue 等)来动态生成小屋,并添加更多的交互效果。

posted @   王铁柱6  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示