简单脉冲动画效果实现

简单脉冲动画效果实现

效果展示

CSS 知识点

  • CSS 变量的灵活使用
  • CSS 动画使用

页面整体结构实现

html 复制代码
<div class="pulse">
  <span style="--i: 1"></span>
  <span style="--i: 2"></span>
  <span style="--i: 3"></span>
  <span style="--i: 4"></span>
  <span style="--i: 5"></span>
  <span style="--i: 6"></span>
</div>

实现整体布局

css 复制代码
.pulse {
  position: relative;
  width: 200px;
  height: 200px;
  box-shadow: inset 0 0 40px #12b9ff, 0 0 50px #12b9ff;
  border-radius: 50%;
  border: 1px solid #12b9ff;
  background: url(./earch.jpg);
  background-size: cover;
}

.pulse span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: transparent;
  border: 1px solid #12b9ff;
  border-radius: 50%;
}

使用CSS变量和动画实现脉冲效果

css 复制代码
.pulse span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: transparent;
  border: 1px solid #12b9ff;
  animation: animate 6s linear infinite;
  border-radius: 50%;
  animation-delay: calc(var(--i) * -1s);
}

@keyframes animate {
  0%{
    width: 200px;
    height: 200px;
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  100% {
    width: 600px;
    height: 600px;
    opacity: 0;
  }
}

实现地球运动效果

css 复制代码
.pulse {
  position: relative;
  width: 200px;
  height: 200px;
  box-shadow: inset 0 0 40px #12b9ff, 0 0 50px #12b9ff;
  border-radius: 50%;
  border: 1px solid #12b9ff;
  background: url(./earch.jpg);
  background-size: cover;
  animation: animateEarth 30s linear infinite;
}

@keyframes animateEarth {
  0% {
    background-position-x: 0px;
  }
  100% {
    background-position-x: 2400px;
  }
}

完整代码下载

完整代码下载

相关推荐
学逆向的12 分钟前
inilne HOOK
前端·网络安全·hook
web打印社区42 分钟前
Vue3 发票静默打印,我这边能跑通的一版
前端·javascript·vue.js·chrome·electron
妖孽白小白2 小时前
el-select的内容续写实现
前端·vue.js·elementui
不可能片场2 小时前
Electron 主进程热补丁:单行 JS 安全打法
前端·electron
梨想橙汁2 小时前
Pinia 状态管理实战:定义 Store、修改数据、模块拆分
前端·vue.js
高申航2 小时前
Vue 3 + DYMO Connect Framework 实战:从标签模板到打印服务的完整实现
前端·javascript·vue.js
梨想橙汁2 小时前
Vue3 组件开发:生命周期钩子,组件之间通信全方案
前端·vue.js
雪芽蓝域zzs2 小时前
分页组件 + el-config-provider 中文国际化 + 靠右布局
前端·javascript·vue.js
恋猫de小郭2 小时前
iPhone Duo 适配详解,需要改变的不止是布局模型
前端·flutter·ios
萧行之2 小时前
Observable Plot 源码深度解析——4 核心抽象逐项学习
前端·学习·数据可视化