進度條是一個常見的UI組件,它可以向用戶展示某個任務的完成進度。如果再加上粒子動畫效果,不僅可以增加進度條的視覺吸引力,還能讓用戶更直觀地感受到進度的變化。
.progress-bar { position: relative; width: 100%; height: 10px; background-color: #eee; border-radius: 5px; } .progress-bar__fill { position: absolute; width: 0%; height: 100%; border-radius: 5px; transition: width .5s ease-in-out; } .particle { position: absolute; width: 10px; height: 10px; border-radius: 50%; background-color: #f00; animation: particle .5s ease-in-out infinite alternate; } @keyframes particle { from { transform: translate(-50%, -50%) scale(1); opacity: 1; } to { transform: translate(-50%, -50%) scale(.5); opacity: .5; } }
上面代碼是一個基礎的進度條+粒子動畫的實現,其中progress-bar作為容器,progress-bar__fill作為進度條的填充部分。當進度條需要更新時,只需要設置progress-bar__fill的寬度即可。
而粒子動畫則是通過增加class為particle的元素,在其上應用CSS動畫實現的。這里使用的是CSS關鍵幀動畫,即keyframes,通過from和to關鍵詞指定動畫開始和結束時的樣式,從而創建一個可循環播放的動畫效果。
如果需要更加多樣化的動畫效果,可以根據具體需求修改動畫樣式。同時,也可以使用JS動態添加粒子元素,從而實現更加復雜的動畫效果。
上一篇css帶導航雙飛翼布局
下一篇css常用字體圖標大小