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;
    }
  }

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

相关推荐
曼巴UE51 小时前
UE FString, FName ,FText 三者转换,再次学习,官方文档理解
服务器·前端·javascript
行走的陀螺仪2 小时前
高级前端 Input 公共组件设计方案(Vue3 + TypeScript)
前端·javascript·typescript·vue·组件设计方案
一颗不甘坠落的流星2 小时前
【Antd】基于 Upload 组件,导入Json文件并转换为Json数据
前端·javascript·json
LYFlied2 小时前
Vue2 与 Vue3 虚拟DOM更新原理深度解析
前端·javascript·vue.js·虚拟dom
Lucky_Turtle2 小时前
【Node】npm install报错npm error Cannot read properties of null (reading ‘matches‘)
前端·npm·node.js
小飞侠在吗3 小时前
vue shallowRef 与 shallowReacitive
前端·javascript·vue.js
惜分飞3 小时前
sql server 事务日志备份异常恢复案例---惜分飞
前端·数据库·php
GISer_Jing4 小时前
WebGL实例化渲染:性能提升策略
前端·javascript·webgl
烟锁池塘柳04 小时前
【技术栈-前端】告别“转圈圈”:详解前端性能优化之“乐观 UI” (Optimistic UI)
前端·ui