CSS中的進度條在網(wǎng)頁設計中是一種常見的設計元素。最常見的是單邊進度條,但是如果需要更加豐富的設計風格,也可以嘗試使用兩邊進度條。
兩邊進度條是指進度條中間有一條可移動的分割線,進度條顏色會在分割線的兩側是不同的。這種設計風格可以更好地呈現(xiàn)出進度條的變化,增加了視覺上的層次感。
.progress{ width: 100%; height: 20px; background: #eee; position: relative; } .progress span{ display: block; height: 100%; position: absolute; } .progress .left{ left: 0; background: #6fa2ea; border-top-left-radius: 10px; border-bottom-left-radius: 10px; } .progress .right{ right: 0; background: #ed7d31; border-top-right-radius: 10px; border-bottom-right-radius: 10px; } .progress .line{ width: 1px; height: 20px; background: #fff; position: absolute; top: 0; left: 50%; transform: translateX(-50%); }
以上是樣式代碼的實現(xiàn),我們使用了一個進度條容器.progress和三個子元素span,left表示左側進度,right表示右側進度,line表示進度條中央的分割線。我們使用了絕對定位和border-radius屬性來實現(xiàn)元素的圓角效果,使用了transform屬性來實現(xiàn)分割線的居中顯示。
接下來我們使用 JS 控制進度條的變化,以達到動態(tài)顯示進度的目的。
function progressChange(progress, val) { var maxVal = 100; var leftVal = val; var rightVal = maxVal - leftVal; progress.children[0].style.width = leftVal + "%"; progress.children[1].style.width = rightVal + "%"; }
以上是一個進度條變化的JS代碼,其中 progress 表示我們要控制的進度條元素, val 表示我們要達到的百分比,即進度條的進度。我們通過計算左右兩側的百分比之后,分別將 left 和 right 兩個元素的寬度設為對應的值,從而實現(xiàn)進度條的變化。
以上是一個較為簡單的兩邊進度條的實現(xiàn)過程,可以根據(jù)具體設計需求進行修改。例如,進度條可以加入動畫效果,進度條顏色也可以更加豐富多彩。希望本文能夠對您有所幫助。