一. 简单的CSS摩天轮

body代码

<body>
  <div id="d1">1
    <div>2</div>
    <div>3</div>
    <div>4</div>
  </div>

css代码

<style>
    #d1{
      width: 400px ;
      height: 400px;
      border-radius: 200px;
      background-color: lightblue;
      position:relative;
      line-height: 400px; /*文本居中*/
      text-align: center; /*文本居中*/
      animation: a 10s linear infinite;
    }
    #d1 div{
      width: 100px;height: 100px;
      border:1px solid red;
      position: absolute;
      text-align: center;
      line-height: 100px;
      animation: b 10s linear infinite;
    }

    div:nth-child(1){
      left:300px;
      top:0px;
    }
    div:nth-child(2){
      left:0px;
      top:0px
    }
    div:nth-child(3){
      left:150px;
      top:350px;
    }
    @keyframes a { /*父元素顺时针旋转*/
      from { transform: rotate(0deg);}
      to { transform: rotate(360deg);}
    }
    @keyframes b {/*子元素逆时针旋转,抵消父元素影响,视觉形成子元素自身不变的效果*/
      from { transform: rotate(0deg);}
      to { transform: rotate(-360deg);}
    }
  </style>

效果图

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用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> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值