使用纯html与css实现跳动小球加载动画

简介: 跳动小球加载动画在网页开发中,加载动画是必不可缺的一个设计;因为在一些资源加载的时候需要让用户等待一段时间,为了使用户有更好的交互体验,一个使人身心愉悦的加载动画变必不可少。今天为大家带来的就是一个小求跳动加载动画

跳动小球加载动画

在网页开发中,加载动画是必不可缺的一个设计;因为在一些资源加载的时候需要让用户等待一段时间,为了使用户有更好的交互体验,一个使人身心愉悦的加载动画变必不可少。

今天为大家带来的就是一个小求跳动加载动画

效果图


网络异常,图片无法展示
|



就如效果图上面多战士出来的,我们大致可以分为两部分:一部分是上面的灯,另一部分则是下面跳动的小球。

设计思路也很简单,上面的小灯打下来的灯光,使得下面下面跳动的小球有一定的阴影,并且根据小球距离灯的距离远近,其阴影也随之变化。

实现

话不多说,直接开始通过代码实现,这是一个纯html与css实现的动画,不需要任何js。

灯光部分

灯光部分我使用了一个div将灯和灯光包裹起来,这样做为了方便调整位置,同时也可以方便的调整灯光的大小。

<div class="lightBox">
    <div class="light"></div>// 灯泡
    <div class="lampLight"></div>// 灯光
</div>
复制代码

灯光主题很简单,这里就不多说了。

下面就是样式部分:

我的设计思路是这样的:灯泡部分设置一个宽高,然后使用border-radius,使得灯泡呈现一个圆形。然后灯光我们使用一个盒子,设置一个宽高,然后使用border-radius,使得灯光呈现一个圆形,但是灯光这个盒子的大小比灯泡的盒子大得多,这样就可以使得灯光有一定的阴影效果。

我们将整个灯光的大盒子居中,但不是垂直居中,因为下面还有一个跳动的小球。

.lightBox{
    position: absolute;
    top: 20%;
    left: 50%;
}
.light{
    position: absolute;
    top: 50px;
    left: 50%;
    margin-left: -10px;
    width: 20px;
    height: 20px;
    background-color: rgb(249, 159, 4);
    border-radius:50%;
    z-index: 1;
}
.lampLight{
    position: absolute;
    top: 16%;
    left: 50%;
    margin-left: -60px;
    width: 20px;
    height: 20px;
    border-bottom: 50px solid rgb(251, 232, 124);
    border-top: 50px solid transparent;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-radius: 50%;
}
复制代码

最后灯光的效果就出来了:


网络异常,图片无法展示
|


小球部分

接下来就是小球的跳动部分,在这里我们使用一个稍大的长方形盒子,将三个小球放在盒子顶部,并设置一定间距,在盒子下面我们设置三个阴影。

<div class="father">
    <!-- 加载小球 -->
    <div class="ball1"></div>
    <div class="ball2"></div>
    <div class="ball3"></div>
    <!-- 小球阴影 -->
    <div CLASS="ballShadow1"></div>
    <div CLASS="ballShadow2"></div>
    <div CLASS="ballShadow3"></div>
</div>
复制代码

然后我们设置一下样式:

首先就是整个大盒子的样式,我们给这个大盒子设置150px的宽度,70px高度,然后设置一个背景颜色,这样就可以看到这个大盒子的位置了。

但是后期我们并不需要这个背景颜色,此时设置背景颜色只是为了更好的观察。

.father{
    position: absolute;
    /* 居中 */
    top:50%;
    margin-top: -50px;
    left: 50%;
    margin-left: -80px;
    /* 设置长宽 */
    width: 160px;
    height: 70px;
    /* 背景色 */
    /* background-color: #ccc; */
}
复制代码

接下来就是给小球设置一些样式,我们给小球设置一个宽高,然后设置一个背景颜色,这样就可以看到小球的位置了,前面我们还说到要讲小球均匀分布,所以这里还需要设置一些外边距。

.ball1{
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: #0ff;
    left: 10px;// **1
    border-radius: 50%;
    z-index: 1;
    animation: bounce 2s ease-in-out infinite;// **2
    animation-delay: 0s;// **3 
}
复制代码

上面的代码只是第一个小球的样式,我们可以看到,在第一个小球上面我们设置小球的位置,但是每一个小球的位置都不一样,所以我这样设置:第一个小球左边距为10px,后面的每个小球依次比前一个小球多60px。这里我就不重复写了。

然后我们设置小球的动画,这里我们使用的是CSS3的动画,我们设置一个动画名字为bounce,动画时间为2s,动画的效果为ease-in-out,动画的次数为无限次。

然后我们设置小球的动画延迟,这里我们设置第一个小球的动画延迟为0s,第二个小球的动画延迟为0.5s,第三个小球的动画延迟为1s。

接下来我们为小球设置动画:

@keyframes bounce{
    0%{
        top: 0px;
    }
    50%{
        top: 40px;
    }
    100%{
        top:0px;
    }
}
复制代码

阴影部分

在效果图里面还有小球跳动的阴影,这里我们也给小球设置一个阴影,在父盒子下面设置三个盒子,长宽比例为2:1,然后设置一个背景颜色,边框使用border-radius:50%,这样就可以看到阴影的位置了。

.ballShadow1{
    position: absolute;
    bottom: 2px;
    left: 0px;
    width: 40px;
    height: 20px;
    border-radius: 50%;
    background-color: #ededed;
    animation: box_shadow 2s ease-in-out 0s infinite;
}
复制代码

同样的,我这里展示的是第一个小球跳动的阴影。我们可以看到,阴影的位置是在小球的下面,所以我们设置了bottom: 2px;,然后我们设置了一个动画,动画的名字为box_shadow,动画的时间为2s,动画的效果为ease-in-out,动画的延迟为0s,动画的次数为无限次。

后面的两个小球只需要设置一下位置就可以了,这里我就不重复写了。

接下来我们设置阴影的动画:

在日常生活中物体距离光源的距离会引起物体的阴影变化(大小,颜色深浅),我们这里使用缩放来实现阴影大小的变化,使用设置深一点的颜色来体现颜色的变化。

@keyframes box_shadow {
    0%{
        transform: scale(1,1);
        background-color: #ededed;
    }
    50%{
        transform: scale(0.5,0.5);
        background-color: #999999;
    }
    100%{
        transform: scale(1,1);
        background-color: #ededed;
    }
}
复制代码

结尾

这里我们就完成了一个简单的小球跳动的效果,这里我们使用了CSS3的动画,这里我们使用了@keyframes来设置动画,然后我们使用animation来设置动画的属性,这里我们使用了animation-delay来设置动画的延迟,这样我们就可以实现小球跳动的效果了。

这样一个小小的demo,不仅可以给我带来乐趣,也在无形之中让我进一步巩固了知识。


相关文章
|
2天前
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
3天前
html+js+css实现的建筑方块立体数字时钟源码
html+js+css实现的建筑方块立体数字时钟源码
53 33
|
15天前
jQuery+CSS3实现404背景游戏动画源码
jQuery+CSS3实现404背景游戏动画源码
47 22
|
24天前
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
101 24
|
1月前
|
Web App开发 移动开发 JavaScript
纯CSS3+SVG实现的节日庆祝五彩纸屑动画效果源码
这是一款基于纯CSS3+SVG实现的节日庆祝五彩纸屑动画效果源码。画面中左下角是一个圆锥形礼炮卡通效果,呈现出节日庆祝时礼花爆破、五彩纸屑纷飞的动画特效。整体动画效果采用纯css3+svg实现,没有引入任何外部图形或js脚本元素。建议使用支持HTML5与css3效果较好的火狐(Firefox)或谷歌(Chrome)等浏览器预览本源码。
55 6
|
2月前
|
前端开发 JavaScript UED
CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画
本文探讨了CSS滚动效果和视差滚动的原理、应用及其对用户体验的影响。从平滑滚动到元素跟随,再到滚动触发动画,这些效果增强了页面的吸引力和互动性。视差滚动通过不同层次元素的差异化移动,增加了页面的深度感和沉浸感。文章还讨论了实现方法、性能优化及案例分析,旨在为设计师和开发者提供实用指导。
84 7
|
2月前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
92 7
|
2月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
55 6
|
2月前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
66 5
|
2月前
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
49 5