進(jìn)度條的功能的實(shí)現(xiàn)可以用多種方式,例如現(xiàn)在我們經(jīng)常使用的php程序,也有使用html/css來實(shí)現(xiàn)的,今天小編給大家講解一種簡單的HTML標(biāo)簽就可以花式寫出進(jìn)度條:
這個可能是一些同學(xué)還不太清楚的,HTML5 原生提供了兩個標(biāo)簽
和
:用來顯示已知范圍的標(biāo)量值或者分?jǐn)?shù)值
常見的一種方式是使用背景色配合百分比的方式制作進(jìn)度條。
這種方式優(yōu)勢在于使用簡單,實(shí)際進(jìn)度可以非常方便的傳遞進(jìn) CSS 中
利用 HTML style 屬性填寫完整的 width 值,譬如
或者利用 CSS 自定義屬性
配合實(shí)際 CSS 中的 width: var(--progress)
完全的自定義樣式,以及可以輕松的添加輔助豐富的動畫和交互效果
同樣的,我們可以利用 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é)會發(fā)現(xiàn)一個目前這種方式的弊端,在于當(dāng)修改 --progress 的值的時候,即便給 .g-progress 添加了 transition,也不會有過渡動畫效果。
原因在于,CSS 中,漸變(諸如 linear-gradinet、radial-gradient、conic-gradient)都是不支持過渡變換的。
角向漸變實(shí)現(xiàn)圓弧進(jìn)度條的局限性
當(dāng)然,這個方法有兩個弊端。