首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在css中添加一个接一个的脉冲动画,如红绿灯不断闪烁

在CSS中实现一个接一个的脉冲动画可以通过使用CSS动画和伪元素来实现。下面是一个实现红绿灯不断闪烁的示例:

HTML代码:

代码语言:txt
复制
<div class="traffic-light"></div>

CSS代码:

代码语言:txt
复制
.traffic-light {
  width: 40px;
  height: 120px;
  background-color: black;
  position: relative;
}

.traffic-light::before,
.traffic-light::after {
  content: "";
  width: 40px;
  height: 40px;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  animation-duration: 1s;
  animation-iteration-count: infinite;
}

.traffic-light::before {
  background-color: red;
  animation-name: pulse-red;
}

.traffic-light::after {
  background-color: green;
  animation-name: pulse-green;
  animation-delay: 0.5s;
}

@keyframes pulse-red {
  0% {
    box-shadow: 0 0 0 0px red;
  }
  50% {
    box-shadow: 0 0 0 20px red;
  }
  100% {
    box-shadow: 0 0 0 0px red;
  }
}

@keyframes pulse-green {
  0% {
    box-shadow: 0 0 0 0px green;
  }
  50% {
    box-shadow: 0 0 0 20px green;
  }
  100% {
    box-shadow: 0 0 0 0px green;
  }
}

解释:

  1. 首先,我们创建一个容器元素 .traffic-light,设置它的宽度、高度和背景色。
  2. 使用伪元素 ::before::after 创建红灯和绿灯。
  3. 使用 animation-name 属性和 @keyframes 定义两个脉冲动画:pulse-redpulse-green
  4. 在动画中,通过改变 box-shadow 的值,来实现闪烁效果。
  5. 使用 animation-delay 属性设置绿灯的动画延迟时间,使得绿灯的动画在红灯结束后开始。

这样就实现了一个红绿灯不断闪烁的效果。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):提供弹性、可靠、安全的云服务器实例。详细信息请访问:https://cloud.tencent.com/product/cvm
  • 云函数(SCF):无需服务器管理,按需运行代码。详细信息请访问:https://cloud.tencent.com/product/scf
  • 云数据库 MySQL 版(CDB):支持高可用、灵活扩展的云数据库服务。详细信息请访问:https://cloud.tencent.com/product/cdb
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

14分28秒

jQuery教程-01-$是函数名

2分29秒

基于实时模型强化学习的无人机自主导航

16分8秒

人工智能新途-用路由器集群模仿神经元集群

领券