这是一个纯css实现的Loading特效,包括无秩序音浪的动画效果。该特效可以被用于网站、应用程序等需要加载时的等待效果。
使用CSS3的@keyframes属性实现动画效果。通过调整不同帧的关键帧,可以实现不同的动画效果。在这个Loading特效中,我们使用了transform属性来缩放音浪,以及animation-delay属性来延迟动画的开始时间,从而使得多个音浪可以错开出现。
<div class="loading">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<style>
.loading,
.loading > div {
position: relative;
box-sizing: border-box;
}
.loading {
display: block;
font-size: 0;
color: #000;
}
.loading.la-dark {
color: #333;
}
.loading > div {
display: inline-block;
float: none;
background-color: currentColor;
border: 0 solid currentColor;
}
.loading {
width: 40px;
height: 32px;
}
.loading > div {
width: 4px;
height: 32px;
margin: 2px;
margin-top: 0;
margin-bottom: 0;
border-radius: 0;
animation-name: line-scale-party;
animation-iteration-count: infinite;
}
.loading > div:nth-child(1) {
animation-duration: 0.43s;
animation-delay: -0.23s;
}
.loading > div:nth-child(2) {
animation-duration: 0.62s;
animation-delay: -0.32s;
}
.loading > div:nth-child(3) {
animation-duration: 0.43s;
animation-delay: -0.44s;
}
.loading > div:nth-child(4) {
animation-duration: 0.8s;
animation-delay: -0.31s;
}
.loading > div:nth-child(5) {
animation-duration: 0.74s;
animation-delay: -0.24s;
}
.loading.la-sm {
width: 20px;
height: 16px;
}
.loading.la-sm > div {
width: 2px;
height: 16px;
margin: 1px;
margin-top: 0;
margin-bottom: 0;
}
.loading.la-2x {
width: 80px;
height: 64px;
}
.loading.la-2x > div {
width: 8px;
height: 64px;
margin: 4px;
margin-top: 0;
margin-bottom: 0;
}
.loading.la-3x {
width: 120px;
height: 96px;
}
.loading.la-3x > div {
width: 12px;
height: 96px;
margin: 6px;
margin-top: 0;
margin-bottom: 0;
}
@keyframes line-scale-party {
0% {
transform: scaleY(1);
}
50% {
transform: scaleY(0.3);
}
100% {
transform: scaleY(1);
}
}
</style>
这个纯CSS实现的无秩序音浪的Loading特效简单易用,可以为您的网站或应用程序增添一份动感和趣味。希望这个特效对您有所帮助!