CSS实现小球边界碰撞回弹

 如何通过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>

相关推荐

  1. Css实现边界碰撞

    2023-12-09 09:40:02       57 阅读
  2. vue实现掉落

    2023-12-09 09:40:02       65 阅读
  3. css实现拖拽悬浮组件

    2023-12-09 09:40:02       41 阅读
  4. css 实现 Popover 出框样式

    2023-12-09 09:40:02       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-09 09:40:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-09 09:40:02       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-09 09:40:02       87 阅读
  4. Python语言-面向对象

    2023-12-09 09:40:02       96 阅读

热门阅读

  1. Pycharm Jupyter ModuleNotFoundError 问题解决

    2023-12-09 09:40:02       58 阅读
  2. 网络知识点之-组播协议

    2023-12-09 09:40:02       63 阅读
  3. 使用 db2diag 工具来分析 db2diag 日志文件

    2023-12-09 09:40:02       62 阅读
  4. mysql 快捷登陆

    2023-12-09 09:40:02       60 阅读
  5. vscode 开发c环境

    2023-12-09 09:40:02       66 阅读
  6. RHEL/CentOS的firewalld防火墙服务配置

    2023-12-09 09:40:02       62 阅读
  7. Python分单篇文章提取核心词汇

    2023-12-09 09:40:02       62 阅读
  8. PHP介绍及安装

    2023-12-09 09:40:02       71 阅读