CSS3建立圓圈進度條

2022-01-17 05:27:59 字數 1203 閱讀 5416

最近在工作中需要做乙個圓圈倒計時,剛開始的想法是做個純數字的倒計時即可,可是需求覺得這個不太好看,想加個倒計時進度條。於是就有了接下來的分析過程...

我們知道css3可以很方便的畫圓,圓環,然後在加上乙個旋轉動畫不就可以實現了嗎?

於是先把圓環畫出來了

做到這裡問題又來了,如何讓紅色的圓環一點一點的消失呢?此處乙個圓環再怎麼旋轉終究是乙個圓環,

此時覺得乙個圓可能不夠,何不在畫乙個白色的半圓再旋轉呢?可是白色的半圓又如何一點一點的顯示呢?貌似又回到了問題的起點。

我們知道overflow:hidden;可以讓多餘的部分隱藏,如果在配合兩個半圓旋轉不就可以實現了嗎?

先畫兩個半圓試試

左半圓右半圓

如果都順時針旋轉45度再剛剛好拼在一起就是乙個完整的圓環

.right

.left

.circleprogress

.rightcircle

.leftcircle

此時當我們再旋轉的時候發現,圓環可以實現一點一點的消失了,但是當轉過乙個180度的時候這個半圓右出現了,此時我們可以用到前面的overflow:hidden;

css**如下

width: 160px;

height: 160px;

margin: 10px auto;

position: relative;

} width: 80px;

height: 160px;

position: absolute;

top:0;

overflow: hidden;

}.right

.left

.circleprogress

.rightcircle

.leftcircle

接下來用css3寫個旋轉動畫即可

.rightcircle

.leftcircle

@keyframes circleprogressload_right

50%,100%

}@keyframes circleprogressload_left

100%

}

完整的demo可以檢視下面的例項

目前這裡的倒計時動畫是動畫時間是6s,這裡可以根據需要自行修改,這裡的執行時間我在專案中是用js控制的,這樣可以根據後台下發的時間值來倒計時,非常方便。

css3 實現進度條

首先圓圈進度條是一直在旋轉的,旋轉我們可以利用的是css3的rotate deg 實現乙個二維旋轉的css3屬性,作用是將指定元素旋轉指定的角度,正值表示順時針方向旋轉,負值表示逆時針防線旋轉,旋轉的角度範圍為 360deg 360deg 一般的進度條的是長這樣的 這可以看成是乙個圓弧在一直旋轉,h...

CSS3實現動態進度條

css3的線性漸變使製造動態進度條成為可能。現在就來一步一步講解如何建立動態進度條吧。以chrome瀏覽器webkit核心為例。目標進度條,背景是淡藍色,上面平鋪了一層傾斜的深藍色條狀矩形。我們可以這樣寫 box box 這裡用到了線性漸變 webkit linear gradient 逆時針傾斜的...

css3 製作圓環進度條

移動端做乙個 loadiing 載入的圖示,跟以往沿用的都不太一樣,是乙個圓環進度條,圓環進度條也就罷了,還得能用百分比控制。demo 剛開始寫這個圓環的時候是參照帖子上給出的css 代入,然後根據自己的需求改,發現圓環可以完美轉動了,但是好像沒法用百分比控制,所以放棄了隨便copy乙個現成的想法,...