CSS3动画实现红绿灯

CSS3动画实现红绿灯效果

题目: 实现一个红绿灯,把一个圆形 div 按照绿色 3 秒,黄色 1 秒,红色 2 秒循环改变背景颜色

使用CSS3的动画效果

思路:一共是3+1+2=6秒,分给每个颜色显示的百分比为red:33% yellow:17% green:50%

优点:可以实现过渡效果

缺点:对秒数的把控不是很严格,没有完全实现3s 1s 2s

<style>
  #box {
    width: 100px;
    height: 100px;
    /* background-color: red; */
    border-radius: 50%;
  }
  @keyframes deng {
    0% {
      background-color: red;
    }

    33% {
      background-color: yellow;
    }

    50% {
      background-color: green;
    }
    100% {
      background-color: green;
    }

  }

  #box {
    animation: deng 6s linear infinite;
  }
</style>

<body>
  <div id="box"></div>
</body>

另外还可以用setTimeout 或者Promise 或者async await实现

具体参考另一位大佬的博客https://blog.csdn.net/latency_cheng/article/details/88660742

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值