Css实现小球边界碰撞回弹

做一个小球,通过定位属性叠加动画的方式, 让小球在屏幕中进行运动,通过设置animation的alternate属性来设置回弹。最后,只需要设置两个运动的持续时间不同就能完成多方向的边界碰撞事件了。

代码示例:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      div {
        position: absolute;
        top: 0;
        left: 0;
        width: 100px;
        height: 100px;
        background-color: orange;
        border-radius: 50%;
        animation: w_move 2.5s linear infinite alternate,
          h_move 3.2s linear infinite alternate;
      }
      @keyframes w_move {
        to {
          left: calc(100vw - 100px);
        }
      }
 
      @keyframes h_move {
        to {
          top: calc(100vh - 100px);
        }
      }
    </style>
  </head>
  <body>
    <div></div>
  </body>
</html>
相关推荐
一嘴一个橘子8 分钟前
js 将二进制文件流,下载为excel文件
javascript
A阳俊yi1 小时前
Vue(13)——router-link
前端·javascript·vue.js
清灵xmf2 小时前
提前解锁 Vue 3.5 的新特性
前端·javascript·vue.js·vue3.5
Jiaberrr2 小时前
教你如何在微信小程序中轻松实现人脸识别功能
javascript·微信小程序·小程序·人脸识别·百度ai
白云~️2 小时前
监听html元素是否被删除,删除之后重新生成被删除的元素
前端·javascript·html
2401_864476932 小时前
无线领夹麦克风哪个降噪好?一文搞懂麦克风什么牌子的音质效果好
javascript·git·sql·github·mssql
尸僵打怪兽3 小时前
后台数据管理系统 - 项目架构设计-Vue3+axios+Element-plus(0920)
前端·javascript·vue.js·elementui·axios·博客·后台管理系统
ggome3 小时前
Uniapp低版本的安卓不能用解决办法
前端·javascript·uni-app
Ylucius3 小时前
JavaScript 与 Java 的继承有何区别?-----原型继承,单继承有何联系?
java·开发语言·前端·javascript·后端·学习
前端初见3 小时前
双token无感刷新
前端·javascript