CSS雷达光波效果(前端雷达光波效果)

前言

CSS雷达光波效果是一种视觉动画效果,常用于模仿雷达扫描或检测的视觉反馈。这种效果通常涉及到动态的圆形或弧形图案,它们从一个中心点向外扩散,类似于水面上的涟漪或雷达扫描线。以下是创建CSS雷达光波效果的一些关键技术和步骤,这里提供两种效果 ,简单记录一下


一. First

1. HTML 结构

html 复制代码
<div class="radar_container">
      <div class="radar_wave"></div>
      <div class="radar_wave"></div>
      <div class="radar_wave"></div>
</div>

2. CSS 内容

css 复制代码
  .radar_container {
    margin: auto;
    position: relative;
    width: 200px;
    height: 200px;
    // background-color: #000;
    border-radius: 50%;
    overflow: hidden;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .radar_wave {
    position: absolute;
    width: 20px;
    height: 20px;
    border: 1px solid #00ff00;
    border-radius: 50%;
    transform: scale(0); // 初始状态改为从中间开始
    box-shadow: inset 0 0 5px 1px #00ff00; // 添加阴影
    animation: radar_wave-animation 3s infinite;
  }

  .radar_wave:nth-child(1) {
    animation-delay: 0s;
  }
  .radar_wave:nth-child(2) {
    animation-delay: 1s;
  }
  .radar_wave:nth-child(3) {
    animation-delay: 2s;
  }

  @keyframes radar_wave-animation {
    0% {
      transform: scale(0); // 从中间开始
      opacity: 1;
    }
    100% {
      transform: scale(10); // 扩散到原来的10倍大小
      opacity: 0;
    }
  }

二. Second

1. HTML 结构同上,CSS 内容请看以下

css 复制代码
  .radar_container {
    margin: auto;
    position: relative;
    width: 200px;
    height: 200px;
    // background-color: #000;
    border-radius: 50%;
    overflow: hidden;
    cursor: pointer;
  }
  .radar_wave {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    background-color: #8080ff;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(1);
    animation: radar_wave-animation 3s infinite;
  }

  .radar_wave:nth-child(1) {
    animation-delay: 0s;
  }

  .radar_wave:nth-child(2) {
    animation-delay: 1s;
  }

  .radar_wave:nth-child(3) {
    animation-delay: 2s;
  }

  @keyframes radar_wave-animation {
    0% {
      transform: scale(0); // 从中间开始
      opacity: 1;
    }
    100% {
      transform: scale(10); // 扩散到原来的10倍大小
      opacity: 0;
    }
  }

感觉有用,就一键三连,感谢(●'◡'●)

相关推荐
excel29 分钟前
为什么在 Three.js 中平面能产生“起伏效果”?
前端
excel2 小时前
Node.js 断言与测试框架示例对比
前端
天蓝色的鱼鱼3 小时前
前端开发者的组件设计之痛:为什么我的组件总是难以维护?
前端·react.js
codingandsleeping3 小时前
使用orval自动拉取swagger文档并生成ts接口
前端·javascript
石金龙4 小时前
[译] Composition in CSS
前端·css
白水清风4 小时前
微前端学习记录(qiankun、wujie、micro-app)
前端·javascript·前端工程化
Ticnix4 小时前
函数封装实现Echarts多表渲染/叠加渲染
前端·echarts
用户22152044278004 小时前
new、原型和原型链浅析
前端·javascript
阿星做前端4 小时前
coze源码解读: space develop 页面
前端·javascript
叫我小窝吧4 小时前
Promise 的使用
前端·javascript