CSS3進度動畫是一種常用于網站或應用程序中的UI組件,它能夠向用戶直觀地展示任務的進度。CSS3進度動畫通常以進度條的形式呈現,可以調整進度條的顏色、形狀、動畫速度等,從而在用戶界面中提供更為豐富和有效的交互體驗。
/* CSS代碼示例:一個基本的進度條 */ .progress-bar { position: relative; height: 20px; width: 100%; background-color: #ddd; } .progress { position: absolute; height: 100%; background-color: #4CAF50; width: 60%; animation: progress-anim 2s linear; } @keyframes progress-anim { 0% { width: 0%; } }
上述代碼為一個基本的進度條樣式,其中包括一個父容器.progress-bar和一個內部進度條.progress,可以通過修改.progress的寬度來調整進度值。動畫通過使用CSS3的@keyframes規則來定義,在本例中定義了一個名為progress-anim的動畫,在2秒內從0%的寬度開始增加到60%。
/* CSS代碼示例:帶動畫的圓形進度條 */ .progress-circle { width: 100px; height: 100px; border-radius: 50%; position: relative; background-color: #ddd; } .progress-circle:before { content: ""; width: 100%; height: 100%; border-radius: 50%; position: absolute; top: 0; left: 0; border: 4px solid rgba(76, 175, 80, 0.3); border-top-color: #4CAF50; animation: spin 2s linear infinite; box-sizing: border-box; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
上述代碼為一個常見的帶動畫的圓形進度條樣式。其中使用了:before偽元素來實現圓形邊框,通過box-sizing:border-box來避免邊框寬度對元素大小的影響。動畫使用了CSS3的transform屬性來旋轉進度條,在本例中定義了一個名為spin的動畫,在2秒內從0度開始旋轉360度。