6种CSS3炫酷预加载Loading
来源:互联网 发布:曲无忆捏脸数据 编辑:程序博客网 时间:2024/06/03 17:18
实现方法
这是一组效果非常酷的纯CSS3炫酷预加载Loading指示器动画特效。这组loading指示器共6种效果,都是使用:before和:after伪元素,以及CSS帧动画来完成各种不同的预加载指示器动画。
使用方法
音频波形Loading动画
HTML结构
使用5个空的<span>元素,每一个代表一条波形柱子。
<
div
id
=
"preloader_1"
>
<
span
></
span
>
<
span
></
span
>
<
span
></
span
>
<
span
></
span
>
<
span
></
span
>
</
div
>
CSS样式
音频波形Loading动画效果通过使每一条音频波形柱子的高度从5像素变化到30像素来完成。每一个span元素都被沿Y轴向下移动15像素,使动画动中心开始。
#preloader_
1
{
position
:
relative
;
}
#preloader_
1
span{
display
:
block
;
bottom
:
0px
;
width
:
9px
;
height
:
5px
;
background
:
#9b59b6
;
position
:
absolute
;
animation: preloader_
1
1.5
s infinite ease-in-out;
}
#preloader_
1
span:nth-child(
2
){
left
:
11px
;
animation-delay: .
2
s;
}
#preloader_
1
span:nth-child(
3
){
left
:
22px
;
animation-delay: .
4
s;
}
#preloader_
1
span:nth-child(
4
){
left
:
33px
;
animation-delay: .
6
s;
}
#preloader_
1
span:nth-child(
5
){
left
:
44px
;
animation-delay: .
8
s;
}
@keyframes preloader_
1
{
0%
{
height
:
5px
;transform:translateY(
0px
);
background
:
#9b59b6
;}
25%
{
height
:
30px
;transform:translateY(
15px
);
background
:
#3498db
;}
50%
{
height
:
5px
;transform:translateY(
0px
);
background
:
#9b59b6
;}
100%
{
height
:
5px
;transform:translateY(
0px
);
background
:
#9b59b6
;}
}
通过分别为每一个span元素设置0.2秒的animation-delay动画延迟时间,使它们依次产生高度变化的动画效果。
圆形变矩形Loading动画
HTML结构
圆形变矩形Loading动画使用4个空的<span>元素,每一个代表一个圆形/矩形。
<
div
id
=
"preloader_2"
>
<
span
></
span
>
<
span
></
span
>
<
span
></
span
>
<
span
></
span
>
</
div
>
CSS样式
该loading指示器动画通过修改border-radius属性来实现。
#preloader_
2
{
position
:
relative
;
left
:
50%
;
width
:
40px
;
height
:
40px
; }
#preloader_
2
span {
display
:
block
;
bottom
:
0px
;
width
:
20px
;
height
:
20px
;
background
:
#9b59b6
;
position
:
absolute
; }
#preloader_
2
span:nth-child(
1
) { animation: preloader_
2
_
1
1.5
s infinite ease-in-out; }
#preloader_
2
span:nth-child(
2
) {
left
:
20px
; animation: preloader_
2
_
2
1.5
s infinite ease-in-out; }
#preloader_
2
span:nth-child(
3
) {
top
:
0px
; animation: preloader_
2
_
3
1.5
s infinite ease-in-out; }
#preloader_
2
span:nth-child(
4
) {
top
:
0px
;
left
:
20px
; animation: preloader_
2
_
4
1.5
s infinite ease-in-out; }
@-keyframes preloader_
2
_
1
{
0%
{
-transform: translateX(
0px
) translateY(
0px
) rotate(
0
deg);
border-radius:
0px
;
}
50%
{
-transform: translateX(
-20px
) translateY(
-10px
) rotate(
-180
deg);
border-radius:
20px
;
background
:
#3498db
;
}
80%
{
-transform: translateX(
0px
) translateY(
0px
) rotate(
-360
deg);
border-radius:
0px
;
}
100%
{
-transform: translateX(
0px
) translateY(
0px
) rotate(
-360
deg);
border-radius:
0px
;
}
}
@-keyframes preloader_
2
_
2
{
0%
{
-transform: translateX(
0px
) translateY(
0px
) rotate(
0
deg);
border-radius:
0px
;
}
50%
{
-transform: translateX(
20px
) translateY(
-10px
) rotate(
180
deg);
border-radius:
20px
;
background
:
#f1c40f
;
}
80%
{
-transform: translateX(
0px
) translateY(
0px
) rotate(
360
deg);
border-radius:
0px
;
}
100%
{
-transform: translateX(
0px
) translateY(
0px
) rotate(
360
deg);
border-radius:
0px
;
}
}
@-keyframes preloader_
2
_
3
{
0%
{
-transform: translateX(
0px
) translateY(
0px
) rotate(
0
deg);
border-radius:
0px
;
}
50%
{
-transform: translateX(
-20px
) translateY(
10px
) rotate(
-180
deg);
border-radius:
20px
;
background
:
#2ecc71
;
}
80%
{
-transform: translateX(
0px
) translateY(
0px
) rotate(
-360
deg);
border-radius:
0px
;
}
100%
{
-transform: translateX(
0px
) translateY(
0px
) rotate(
-360
deg);
border-radius:
0px
;
}
}
@-keyframes preloader_
2
_
4
{
0%
{
-transform: translateX(
0px
) translateY(
0px
) rotate(
0
deg);
border-radius:
0px
;
}
50%
{
-transform: translateX(
20px
) translateY(
10px
) rotate(
180
deg);
border-radius:
20px
;
background
:
#e74c3c
;
}
80%
{
-transform: translateX(
0px
) translateY(
0px
) rotate(
360
deg);
border-radius:
0px
;
}
100%
{
-transform: translateX(
0px
) translateY(
0px
) rotate(
360
deg);
border-radius:
0px
;
}
}
交叉图形变换Loading动画
HTML结构
该loading动画使用div元素的:before和:after为元素来制作。圆形变方形的动画通用是通过修改border-radius属性来实现。
<
div
id
=
"preloader_3"
></
div
>
CSS样式
#preloader_
3
{
position
:
relative
;
}
#preloader_
3:
before{
width
:
20px
;
height
:
20px
;
border-radius:
20px
;
background
:
blue
;
content
:
''
;
position
:
absolute
;
background
:
#9b59b6
;
animation: preloader_
3
_before
1.5
s infinite ease-in-out;
}
#preloader_
3:
after{
width
:
20px
;
height
:
20px
;
border-radius:
20px
;
background
:
blue
;
content
:
''
;
position
:
absolute
;
background
:
#2ecc71
;
left
:
22px
;
animation: preloader_
3
_after
1.5
s infinite ease-in-out;
}
@keyframes preloader_
3
_before {
0%
{transform: translateX(
0px
) rotate(
0
deg)}
50%
{transform: translateX(
50px
) scale(
1.2
) rotate(
260
deg);
background
:
#2ecc71
;border-radius:
0px
;}
100%
{transform: translateX(
0px
) rotate(
0
deg)}
}
@keyframes preloader_
3
_after {
0%
{transform: translateX(
0px
)}
50%
{transform: translateX(
-50px
) scale(
1.2
) rotate(
-260
deg);
background
:
#9b59b6
;border-radius:
0px
;}
100%
{transform: translateX(
0px
)}
}
蛇形Loading动画
HTML结构
该loading动画使用div元素的:before和:after为元素来制作。圆形变方形的动画通用是通过修改border-radius属性来实现。
<
div
id
=
"preloader_4"
>
<
span
></
span
>
<
span
></
span
>
<
span
></
span
>
<
span
></
span
>
<
span
></
span
>
</
div
>
CSS样式
该动画通过修改每一个span元素的Y轴位置,使它们下移10个像素,并使它们的颜色从蓝色变为黄色。阴影效果则是修改box-shadow的尺寸来完成。
#preloader_
4
{
position
:
relative
;
}
#preloader_
4
span{
position
:
absolute
;
width
:
20px
;
height
:
20px
;
background
:
#3498db
;
opacity:
0.5
;
border-radius:
20px
;
-animation: preloader_
4
1
s infinite ease-in-out;
}
#preloader_
4
span:nth-child(
2
){
left
:
20px
;
animation-delay: .
2
s;
}
#preloader_
4
span:nth-child(
3
){
left
:
40px
;
animation-delay: .
4
s;
}
#preloader_
4
span:nth-child(
4
){
left
:
60px
;
animation-delay: .
6
s;
}
#preloader_
4
span:nth-child(
5
){
left
:
80px
;
animation-delay: .
8
s;
}
@keyframes preloader_
4
{
0%
{
opacity:
0.3
;
transform:translateY(
0px
);
box-shadow:
0px
0px
3px
rgba(
0
,
0
,
0
,
0.1
);}
50%
{
opacity:
1
;
transform: translateY(
-10px
);
background
:
#f1c40f
;
box-shadow:
0px
20px
3px
rgba(
0
,
0
,
0
,
0.05
);}
100%
{
opacity:
0.3
;
transform:translateY(
0px
);
box-shadow:
0px
0px
3px
rgba(
0
,
0
,
0
,
0.1
);}
}
旋转轮盘Loading动画
HTML结构
该loading动画使用div元素来制作中心的圆形,并使用div元素的:after伪元素来制作两条旋转线效果。
<
div
id
=
"preloader_5"
></
div
>
CSS样式
两条旋转线使用:after伪元素来制作,通过给它设置50像素的顶部和底部border-radius俩创建这两条线。动画效果添加在div元素上,修改它的颜色以及通过transform: rotate()来使它进行旋转。
#preloader
5
{
position
:
relative
;
width
:
30px
;
height
:
30px
;
background
:
#3498db
;
border-radius:
50px
;
animation: preloader_
5
1.5
s infinite linear;
}
#preloader
5:
after{
position
:
absolute
;
width
:
50px
;
height
:
50px
;
border-top
:
10px
solid
#9b59b6
;
border-bottom
:
10px
solid
#9b59b6
;
border-left
:
10px
solid
transparent
;
border-right
:
10px
solid
transparent
;
border-radius:
50px
;
content
:
''
;
top
:
-20px
;
left
:
-20px
;
animation: preloader_
5
_after
1.5
s infinite linear;
}
@keyframes preloader_
5
{
0%
{transform: rotate(
0
deg);}
50%
{transform: rotate(
180
deg);
background
:
#2ecc71
;}
100%
{transform: rotate(
360
deg);}
}
@keyframes preloader_
5
_after {
0%
{
border-top
:
10px
solid
#9b59b6
;
border-bottom
:
10px
solid
#9b59b6
;}
50%
{
border-top
:
10px
solid
#3498db
;
border-bottom
:
10px
solid
#3498db
;}
100%
{
border-top
:
10px
solid
#9b59b6
;
border-bottom
:
10px
solid
#9b59b6
;}
}
windows标志Loading动画
HTML结构
每一个span代表一个方块。
<
div
id
=
"preloader_6"
>
<
span
></
span
>
<
span
></
span
>
<
span
></
span
>
<
span
></
span
>
</
div
>
CSS样式
所有的方块以网格进行布局。动画添加在主div元素上,使它产生旋转。另外i一个动画是使各个span元素不断的从100%缩放到50%。并通过animation-delay来控制各个span的动画延迟时间。
#preloader_
6
{
position
:
relative
;
width
:
42px
;
height
:
42px
;
animation: preloader_
6
5
s infinite linear;
}
#preloader_
6
span{
width
:
20px
;
height
:
20px
;
position
:
absolute
;
background
:
red
;
display
:
block
;
animation: preloader_
6
_span
1
s infinite linear;
}
#preloader_
6
span:nth-child(
1
){
background
:
#2ecc71
;
}
#preloader_
6
span:nth-child(
2
){
left
:
22px
;
background
:
#9b59b6
;
animation-delay: .
2
s;
}
#preloader_
6
span:nth-child(
3
){
top
:
22px
;
background
:
#3498db
;
animation-delay: .
4
s;
}
#preloader_
6
span:nth-child(
4
){
top
:
22px
;
left
:
22px
;
background
:
#f1c40f
;
animation-delay: .
6
s;
}
@keyframes preloader_
6
{
from {-ms-transform: rotate(
0
deg);}
to {-ms-transform: rotate(
360
deg);}
}
@keyframes preloader_
6
_span {
0%
{ transform:scale(
1
); }
50%
{ transform:scale(
0.5
); }
100%
{ transform:scale(
1
); }
}
- 6种CSS3炫酷预加载Loading
- css3加载动画loading
- css3 加载loading图标实现
- 【求解】CSS3动画loading加载
- css3实现三种不同的loading加载动画效果
- css3实现6种loading效果
- CSS3制作加载中loading动画效果
- CSS3实现Loading加载动画特效大全
- css3漏斗型Loading加载动画
- CSS3动画实现loading加载图标
- 纯css3 加载loading动画特效
- CSS3实现loading(加载)动画效果
- 30种CSS3炫酷页面预加载loading动画特效
- load-awesome 53种纯CSS3预加载页面loading指示器动画特效
- css3-loading
- CSS---10个样式各异的CSS3 Loading加载动画
- 动感的CSS3 Loading加载文字动画特效
- CSS3实现10种Loading效果
- MySQL数据库服务器和数据库MySQL字符集
- 关于Ajax中URL的备忘
- #OSG+VS#第十二周
- selenium 之 submit()方法
- hive导出hbase数据
- 6种CSS3炫酷预加载Loading
- Tensorflow系列二:入门
- flex布局实现双飞翼
- 验证微信号的正则表达式
- 个人博客导航帖
- 不知道作文怎么写?看一看MindManager在文章写作方面的应用
- json知识整理
- Http请求中Content-Type讲解以及在Spring MVC中的应用
- 判断浏览器版本、系统型号等