CSS实现运动的小球

简介: CSS实现运动的小球

效果图

image.png

页面结构

页面结构很简单,我们这里只需要将#app盒子作为平台,然后再用.ball写出小球的样式在对它添加上弹跳的效果就可以了

<div id="app">
        <div class="ball"></div>
    </div>

初始样式

清除所有元素的默认内外边距,将#app盒子占满全屏,以便于小球进行弹跳

* {
            margin: 0;
            padding: 0;
        }
        #app {
            width: 100vw;
            height: 100vh;
            background: #000;
        }

小球实现

我们设置好宽高,再用css圆角属性将小球设置为圆形,小球的仿真效果我们通过css背景radial-gradient属性进行实现,最后给上固定定位,让小球可以全屏进行跳跃,我们到时候通过控制topleft值让小球移动位置

.ball {
            position: fixed;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            background: radial-gradient(circle farthest-side at center, white, grey);
        }

小球反弹跳跃实现

小球的反弹跳跃效果我们这里使用CSS动画进行实现,我们这里需要声明两个动画,一个是控制小球的X轴移动,一个是控制小球Y轴移动,我们将小球的top值和left值动画起始值设置为0,动画终止值我们这里需要套入公式,小球的top值为:(页面的高度)-(小球的高度),小球的left值为:(页面的宽度)-(小球的宽度),然后使用css的calc属性套入公式进行计算得出小球移动的终止值,最后给小球添加上这两个动画,设置好动画执行时间并开启无限循环和轮流反向播放

.ball {
            animation: beatX 3s linear infinite alternate,
                beatY 3.5s linear infinite alternate;
        }
@keyframes beatX {
            from {
                left: 0;
            }
            to {
                left: calc(100vw - 50px);
            }
        }
        @keyframes beatY {
            from {
                top: 0;
            }
            to {
                top: calc(100vh - 50px);
            }
        }

代码我放到码上掘金上了,感兴趣的大家可以看一下!

image.png

相关文章
|
2月前
|
前端开发
CSS跳动的小球
CSS跳动的小球
23 0
|
6月前
|
前端开发
html_css模拟端午赛龙舟运动
html_css模拟端午赛龙舟运动
49 1
|
6月前
|
前端开发
css_animation运动的贝塞尔曲线
css_animation运动的贝塞尔曲线
30 0
|
前端开发 JavaScript
使用html+css+JavaScript制作抛物线小球
使用html+css+JavaScript制作抛物线小球
156 0
|
前端开发 JavaScript
使用纯html与css实现跳动小球加载动画
跳动小球加载动画 在网页开发中,加载动画是必不可缺的一个设计;因为在一些资源加载的时候需要让用户等待一段时间,为了使用户有更好的交互体验,一个使人身心愉悦的加载动画变必不可少。 今天为大家带来的就是一个小求跳动加载动画
|
前端开发 JavaScript
使用CSS实现 图片帧动画 与 曲线运动
使用CSS实现 图片帧动画 与 曲线运动
610 0
使用CSS实现 图片帧动画 与 曲线运动
|
前端开发
如何用纯 CSS 创作小球变矩形背景的按钮悬停效果
效果预览 在线演示 按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。 https://codepen.io/comehope/pen/yxbEzJ 可交互视频 此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。
1132 0
|
前端开发 Web App开发 JavaScript
用纯 CSS 创作一个小球反弹的动画
效果预览 在线演示 按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。 https://codepen.io/comehope/pen/OwWROO 可交互视频 此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。
909 0
|
前端开发 容器 Web App开发
如何用纯 CSS 创作一个小球上台阶的动画
效果预览 在线演示按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。 https://codepen.io/comehope/pen/PBGJwL 可交互视频 此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。
956 0