简单脉冲动画效果实现

简单脉冲动画效果实现

效果展示

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

完整代码下载

完整代码下载

相关推荐
软件技术NINI4 分钟前
element实现动态路由+面包屑
前端·vue.js
爆更小小刘2 小时前
Python基础语法(2)
开发语言·前端·python
前端小菜鸟也有人起2 小时前
ElementUI大坑Notification修改样式
android·前端·elementui
终末圆3 小时前
JDBC与MyBatis:数据库访问技术的变迁【后端 15】
前端·数据结构·数据库·后端·算法·mybatis·jdbc
花下的晚风3 小时前
Vue实用操作-2-如何使用网页开发者工具
前端·javascript·vue.js
安冬的码畜日常3 小时前
【D3.js in Action 3 精译_022】3.2 使用 D3 完成数据准备工作
前端·javascript·信息可视化·数据挖掘·数据可视化·d3.js
qq_424317183 小时前
html+css+js网页设计 旅游 龙门石窟4个页面
javascript·css·html
挣钱花3883 小时前
Vue2时间轴组件(TimeLine/分页、自动顺序播放、暂停、换肤功能、时间选择,鼠标快速滑动)
开发语言·前端·javascript
sailiss3 小时前
猜数字困难版(1-10000)
javascript·css·html5
louqle3 小时前
vue2实践:el-table实现由用户自己添加删除行数的动态表格
前端·javascript·vue.js