進(jìn)度條的功能的實(shí)現(xiàn)可以用多種方式,例如現(xiàn)在我們經(jīng)常使用的php程序,也有使用html/css來(lái)實(shí)現(xiàn)的,今天小編給大家講解一種簡(jiǎn)單的HTML標(biāo)簽就可以花式寫出進(jìn)度條:
這個(gè)可能是一些同學(xué)還不太清楚的,HTML5 原生提供了兩個(gè)標(biāo)簽
和
:用來(lái)顯示已知范圍的標(biāo)量值或者分?jǐn)?shù)值
常見(jiàn)的一種方式是使用背景色配合百分比的方式制作進(jìn)度條。
這種方式優(yōu)勢(shì)在于使用簡(jiǎn)單,實(shí)際進(jìn)度可以非常方便的傳遞進(jìn) CSS 中
利用 HTML style 屬性填寫完整的 width 值,譬如
或者利用 CSS 自定義屬性
配合實(shí)際 CSS 中的 width: var(--progress)
完全的自定義樣式,以及可以輕松的添加輔助豐富的動(dòng)畫和交互效果

同樣的,我們可以利用 HTML style 屬性填寫完整的 background 值傳遞實(shí)際百分比,當(dāng)然,這里更推薦使用 CSS 自定義屬性傳值:
div class="g-progress" style="--progress: 50%">
.g-progress {
background: linear-gradient(90deg, #0f0, #0ff var(--progress), transparent 0);
}
熟悉 CSS 的同學(xué)會(huì)發(fā)現(xiàn)一個(gè)目前這種方式的弊端,在于當(dāng)修改 --progress 的值的時(shí)候,即便給 .g-progress 添加了 transition,也不會(huì)有過(guò)渡動(dòng)畫效果。
原因在于,CSS 中,漸變(諸如 linear-gradinet、radial-gradient、conic-gradient)都是不支持過(guò)渡變換的。
角向漸變實(shí)現(xiàn)圓弧進(jìn)度條的局限性
當(dāng)然,這個(gè)方法有兩個(gè)弊端。