這是一個純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特效簡單易用,可以為您的網站或應用程序增添一份動感和趣味。希望這個特效對您有所幫助!