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>
相关推荐
帅夫帅夫23 分钟前
一文手撕call、apply、bind
前端·javascript·面试
锈儿海老师1 小时前
AST 工具大PK!Biome 的 GritQL 插件 vs. ast-grep,谁是你的菜?
前端·javascript·eslint
令狐寻欢1 小时前
JavaScript中 的 Object.defineProperty 和 defineProperties
javascript
快起来别睡了1 小时前
代理模式:送花风波
前端·javascript·架构
FogLetter1 小时前
从add函数类型判断说起:NaN的奇幻漂流与JS数据类型的奥秘
前端·javascript
兰贝达1 小时前
商品SKU选择器实现思路,包简单
前端·javascript·vue.js
程序员小张丶2 小时前
React Native在HarmonyOS 5.0阅读类应用开发中的实践
javascript·react native·react.js·阅读·harmonyos5.0
EndingCoder2 小时前
React Native 是什么?为什么学它?
javascript·react native·react.js
摸鱼仙人~2 小时前
Redux Toolkit 快速入门指南:createSlice、configureStore、useSelector、useDispatch 全面解析
开发语言·javascript·ecmascript
程序员小张丶3 小时前
基于React Native开发HarmonyOS 5.0主题应用技术方案
javascript·react native·react.js·主题·harmonyos5.0