CSS3之碰撞反弹动画无限运动

示例代码如下:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>CSS3 碰撞反弹动画无限运动</title>
 6     <style type="text/css">
 7     .container {
 8         width: 600px;
 9         height: 400px;
10         border: 1px solid #333;
11         position: relative;
12     }
13     .ball {
14         position: absolute;
15         left: 0;
16         top: 0;
17         width: 20px;
18         height: 20px;
19         border-radius: 20px;
20         border: 1px solid #999;
21         /* alternate:动画先正常运行再反方向运行,并持续交替运行 */
22         animation: horizontal 10s linear 0s infinite alternate, vertical 6s linear 0s infinite alternate;
23     }
24     @keyframes horizontal {
25         0% {
26             left: 0;
27         }
28         100% {
29             /* 运动最大距离为盒子长度减去球的长度 */
30             left: calc(600px - 20px);
31         }
32     }
33     @keyframes vertical {
34         0% {
35             top: 0;
36         }
37         100% {
38             /* 运动最大距离为盒子高度减去球的高度 */
39             top: calc(400px - 20px);
40         }
41     }
42     </style>
43 </head>
44 <body>
45 <div class="container">
46     <div class="ball"></div>
47 </div>
48 </body>
49 </html>

该效果可以通过JS随机设置运动时间,衍生出无数小球随机碰撞动画,也能用于雪花飞舞效果。

巧妙的使用css3的animate属性,可以实现各种炫丽效果。

时间: 2024-12-13 01:02:00

CSS3之碰撞反弹动画无限运动的相关文章

原生js实现一个DIV的碰撞反弹运动

 原生js实现一个DIV的碰撞反弹运动: 关键在于DIV的边界检测,进而改变运动方向,即可实现碰撞反弹效果. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> *{margin:0;} div{height:100px;width:100px;back

CSS3中的3D动画实现(钟摆、魔方)--实现代码

CSS3中的3D动画实现(钟摆.魔方) CSS3的2D变形----传统的transform变形效果 transform : translate.scale.rotate.skew- translate:平移.scale:缩放.rotate:旋转.skew:倾斜 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>tran

基于HTML5+CSS3的图片旋转、无限滚动、文字跳动特效

本文分享几种基于HTML5+CSS3实现的一些动画特效:图片旋转.无限滚动.文字跳动;实现起来均比较容易,动手来试试! 一.图片旋转 效果图如下: 这个效果实现起来其实并不困难.代码清单如下: <style type="text/css"> #liu{ width:280px; height: 279px; background: url(shishi.png) no-repeat; border-radius:140px; -webkit-animation:run 6s

css3中变形与动画(三)

transform可以实现矩阵变换,transition实现属性的平滑过渡,animation意思是动画,动漫,这个属性才和真正意义的一帧一帧的动画相关.本文就介绍animation属性. animation属性通过一些关键帧中元素属性的改变来实现动画效果.当然也可以控制动画持续时间,动画迭代次数等. 一.例子 在介绍transition时开篇有一个例子就是实现鼠标放上去,div宽度从100px缓慢增大到200px. 用transition实现方法如下 div:hover{ width: 200

纯CSS3实现打火机火焰动画

HTML5已经越来越流行起来了,尤其是移动互联网的发展,更是带动了HTML5的迅猛发展,我们也是时候学习HTML5了,以防到时候落伍.今天给大家介绍10款效果惊艳的HTML5应用,方便大家学习,也将应用的源码整理了一下发给大家. 1.纯CSS3实现打火机火焰动画 这又是一款很酷的纯CSS3动画特效,它是一个可以点燃的打火机,当你用鼠标滑过这只打火机时,打火机就会打开,然后开始出现火焰燃烧的动画特效.另外要说明的是,整个动画都是利用纯CSS3实现的,没有一行JS代码,小伙伴们,这个CSS3动画是不

解决Unity中模型部件的MeshCollider不随动画一起运动的问题

Unity的3d游戏开发中,经常遇到需要将模型的某一部分(比如武器),单独做碰撞处理的情况. 导入模型后,给武器部分添加MeshCollider,MeshCollider的Mesh通常包含在模型里,如图: 勾选MeshCollider的Convex以及Inflate mesh后,在场景中能看到生成的绿色网格碰撞器. 但是运行后,会发现这个Collider并不随着模型动画一起运动. 不知道是不是问题太小白的原因,网上很少有相关问题的讨论,不少相关的问题都没有答案. 最终在csdn上翻到一篇文章,解

CSS3 实现图片上浮动画(转载)

CSS3 实现图片上浮动画 .gist { width:220px; height:130px; background-image: url(2.jpg); background-repeat:no-repeat; border:5px solid green; background-position:50% 50%; transition:background-position 2s; -moz-transition:background-position 2s; /* Firefox 4 *

CSS3/jQuery创意盒子动画菜单

作为前端开发者,各种各样的jQuery菜单见过不少,这款jQuery/CSS3菜单却是别具一格,菜单项嵌入到九宫格中,像小盒子一样,加上温馨的背景,菜单整体外观十分可爱.点击菜单项,盒子就会展开,展示该菜单项具体的内容.该CSS3菜单在展开时也有不错的动画效果. 在线演示源码下载 原文链接:http://www.html5tricks.com/css3-jquery-box-menu.html CSS3/jQuery创意盒子动画菜单,布布扣,bubuko.com

10个样式各异的CSS3 Loading加载动画

前几天我在园子里分享过2款很酷的CSS3 Loading加载动画,今天又有10个最新的Loading动画分享给大家,这些动画的样式都不一样,实现起来也并不难,你很容易把它们应用在项目中,先来看看效果图: 你也可以在这里查看DEMO演示. 下面我们来挑选几个比较典型的案例来分析一下代码. 先来看看第一个案例,是条状动画,HTML代码如下: <div id="caseVerte"> <div id="case1"></div> <