網頁自定義進度條動畫(Process Bar Animate)【二】
上一篇 講解了jquery progress-bars-svg-image套件,這一篇就是要正式來講用 css動畫 和 jquery套件 結合的自定義進度條動畫(不支援IE)。 首先根據jquery progress-bars-svg-image的邏輯下去寫,用一個div包兩個svg,並且做圖層、相對定位跟絕對定位。 (svg可以自己設計或是去網路上找免費的svg來用,自己設計的我會把svg的程式碼再做些微修改,比如拿掉裡面的class跟style之類的。記得viewbox那些不要拿掉) group >> 包覆進度條的div class,設為相對定位 top >> 上方跑動畫的svg,設為絕對定位以及將圖層設到上面 bottom >> 下方固定的svg fill >>填滿svg的屬性 clip-path:inset(0% 100% 0% 0%) >> 把上方svg固定在最左邊 可以調整100%為其他%數來先看效果 <style> .group{ position:relative; } .group .top{ z-index:2; position:absolute; clip-path:inset(0% 100% 0% 0%); fill:#f3adc4; } .group .bottom{ fill:#5e5c5c; } </style> <div class="group"> <svg class="top"> ... </svg> <svg class="bottom"> ... </svg> </div> 接下來做一個 css自定義動畫效果@keyframes ,我將它取名為percent,先把top的inset100%改成87%,然後animation呼叫剛剛定義好的percent,後面的2s是這個動畫跑的時間, 如果要一直重複這個動畫的話,就在後面加上infinite, 但我們是要做一個觸發事件再重做動畫,所以先不放。這