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>
相关推荐
NoneCoder13 分钟前
JavaScript系列(84)--前端工程化概述
前端·javascript·状态模式
Ranye1232 小时前
从 JS 到 Dart:语法基础
javascript·flutter·dart
拉不动的猪2 小时前
刷刷题17(webpack)
前端·javascript·面试
Ama_tor2 小时前
网页制作06-html,css,javascript初认识のhtml如何建立超链接
javascript·css·html
烂蜻蜓3 小时前
Uniapp 中布局魔法:display 属性
前端·javascript·css·vue.js·uni-app·html
视觉CG3 小时前
【Viewer.js】vue3封装图片查看器
开发语言·javascript·vue.js
琑953 小时前
nextjs项目搭建——头部导航
开发语言·前端·javascript
Gazer_S4 小时前
【Windows系统node_modules删除失败(EPERM)问题解析与应对方案】
前端·javascript·windows
沙子迷了蜗牛眼4 小时前
antv G6绘制流程图
开发语言·javascript·ecmascript