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>
相关推荐
刺客-Andy15 分钟前
js高频面试题 50道及答案
开发语言·javascript·ecmascript
湛海不过深蓝27 分钟前
【echarts】折线图颜色分段设置不同颜色
前端·javascript·echarts
八哥程序员28 分钟前
Chrome DevTools 详解系列之 Console 面板
javascript·chrome
BD_Marathon37 分钟前
Vue3_计算属性
javascript·vue.js·ecmascript
wniuniu_1 小时前
ceph运维
运维·javascript·ceph
new code Boy1 小时前
前端base-64 编码解码
前端·javascript·html
前端摸鱼匠1 小时前
Vue 3 的watch监听多个数据源:讲解如何同时监听多个响应式数据的变化
前端·javascript·vue.js·前端框架·ecmascript
小oo呆2 小时前
【自然语言处理与大模型】LangChainV1.0入门指南:核心组件Messages
前端·javascript·easyui
郑州光合科技余经理2 小时前
技术解析:如何打造适应多国市场的海外跑腿平台
java·开发语言·javascript·mysql·spring cloud·uni-app·php
不会飞的鲨鱼2 小时前
抖音验证码滑动轨迹原理(很难审核通过)
javascript·python