国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

實(shí)現(xiàn)環(huán)形進(jìn)度條(CSS3+jQuery/Vue)

lidashuang / 3366人閱讀

摘要:整體思路是通過(guò)裁切產(chǎn)生兩個(gè)半圓展示出靜態(tài)的進(jìn)度條,而后通過(guò)旋轉(zhuǎn)角度的變化產(chǎn)生動(dòng)態(tài)效果。而藍(lán)色部分元素的顏色,是我們還未到達(dá)的進(jìn)度。演示勤快的我去里寫(xiě)了一下這個(gè)是的實(shí)現(xiàn)這個(gè)是的實(shí)現(xiàn)環(huán)形進(jìn)度條。參考文章利用和實(shí)現(xiàn)環(huán)形進(jìn)度條

整體思路是:通過(guò)裁切(clip)產(chǎn)生兩個(gè)半圓展示出靜態(tài)的進(jìn)度條,而后通過(guò)旋轉(zhuǎn)(rotate)角度的變化產(chǎn)生動(dòng)態(tài)效果。

先來(lái)回顧兩個(gè)基礎(chǔ)知識(shí)點(diǎn)

(1)css的一個(gè)不常見(jiàn)的屬性:

clip: rect(top, right, bottom, left);

這個(gè)屬性規(guī)定了一個(gè)裁切的矩形,其中top和bottom所指定的偏移量是從元素盒子頂部邊緣算起,right和left所指定的偏移量是從元素盒子左側(cè)邊緣算起(這里需要重點(diǎn)注意的是bottom和right的計(jì)算方式)??聪旅孢@張超級(jí)清晰的圖(直接把w3cplus的圖搬過(guò)來(lái)了,帶著水印不違規(guī)的吧?):

需要注意的是:clip屬性只能在元素設(shè)置了“position:absolute”或者“position:fixed”屬性時(shí)起作用。clip無(wú)法在設(shè)置“position:relative”和“position:static”上工作。

關(guān)于clip,想要深入了解請(qǐng)看這篇文章: http://www.w3cplus.com/css3/c...

(2)CSS的另一個(gè)屬性:

transform: rotate(deg);

順時(shí)針旋轉(zhuǎn)一定的角度。

熱身運(yùn)動(dòng):我們來(lái)畫(huà)一個(gè)右半圓
//html
0%
//css .pie-right { position: absolute; top: 0; left: 0; height: 200px; width: 200px; border-radius: 50%; background: red;//注意這是表示當(dāng)前進(jìn)度的顏色 } .right { position: absolute; top: 0; left: 0; height: 200px; width: 200px; border-radius: 50%; background: blue;//注意這個(gè)才不是當(dāng)前進(jìn)度的顏色 } .pie-right, .right { clip: rect(0, auto, auto, 100px); } .mask {//我是遮罩 position: absolute; top: 25px; left: 25px; height: 150px; width: 150px; background: #fff; border-radius: 50%; text-align: center; }

效果如下:

此時(shí),元素pie-right完全被元素right遮住了。

然后,我們來(lái)旋轉(zhuǎn)一下:

.right {
    transform: rotate(30deg);
}

旋轉(zhuǎn)后效果如下:

現(xiàn)在我們可以看到,旋轉(zhuǎn)了30度時(shí),露出的紅色部分就是我們要的進(jìn)度,這是pie-right元素的顏色。而藍(lán)色部分right元素的顏色,是我們還未到達(dá)的進(jìn)度。

正式開(kāi)始

實(shí)現(xiàn)環(huán)形進(jìn)度條意味著我們需要左右兩個(gè)半圓,因此html結(jié)構(gòu)要改變一下:

//html

0%
//css .circle {//這個(gè)元素可以提供進(jìn)度條的顏色 position: absolute; height: 200px; width: 200px; border-radius: 50%; background: red;//注意這是表示當(dāng)前進(jìn)度的顏色 } .pie-right, .pie-left { //這倆元素主要是為了分別生成兩個(gè)半圓的,所以起作用的地方在于clip裁掉另一半 position: absolute; top: 0; left: 0; height: 200px; width: 200px; border-radius: 50%; } .right, .left { position: absolute; top: 0; left: 0; height: 200px; width: 200px; border-radius: 50%; background: blue;//注意這個(gè)才不是當(dāng)前進(jìn)度的顏色 } .pie-right, .right { //裁掉左邊一半 clip: rect(0, auto, auto, 100px); } .pie-left, .left { //裁掉右邊一半 clip: rect(0, 100px, auto, 0); } .mask {//我是遮罩 mask不用改 好欣慰 position: absolute; top: 25px; left: 25px; height: 150px; width: 150px; background: #fff; border-radius: 50%; text-align: center; }

效果是介樣滴:

此時(shí)進(jìn)度是0,讓我們來(lái)rotate一下,先旋轉(zhuǎn)30度吧

.right{
    transform: rotate(30deg);
}

于是就變成了這樣:【請(qǐng)始終記住,紅色部分是當(dāng)前進(jìn)度。】

然后再旋轉(zhuǎn)210度看看效果【210度就是右邊完全旋轉(zhuǎn),左邊再旋轉(zhuǎn)30度】:

.right{
    transform: rotate(180deg);
}
.left{
    transform: rotate(30deg);
}

長(zhǎng)這樣:

最后的最后,當(dāng)進(jìn)度數(shù)值動(dòng)態(tài)增加時(shí),通過(guò)js去改變旋轉(zhuǎn)的角度就可以實(shí)現(xiàn)進(jìn)度條動(dòng)態(tài)變化了。
進(jìn)度數(shù)值每增加1,角度增加3.6度,還要注意的是,當(dāng)進(jìn)度小于50%時(shí),左側(cè)進(jìn)度條沒(méi)有變化,當(dāng)大于50%,左側(cè)進(jìn)度條才開(kāi)始改變。
我們可以寫(xiě)一個(gè)函數(shù):

function changeProcess(value) {
    var num = value * 3.6;
    if(num < 180) {
        $(".right").css("transform", "rotate(" + num + "deg)");
    } else {
        $(".right").css("transform", "rotate(180deg)");
        $(".left").css("transform", "rotate(" + (num-180) + "deg)");
    }
}

當(dāng)進(jìn)度值變化時(shí),調(diào)用這個(gè)函數(shù)即可。

jsfiddle演示

勤快的我去jsfiddle里寫(xiě)了一下(這個(gè)是jQuery的實(shí)現(xiàn)):jsfiddle

這個(gè)是Vue的實(shí)現(xiàn): Vue環(huán)形進(jìn)度條。用到Vue的綁定內(nèi)聯(lián)樣式。

參考文章:
利用jQuery和CSS實(shí)現(xiàn)環(huán)形進(jìn)度條
https://www.w3cplus.com/css3/...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/88214.html

相關(guān)文章

  • 實(shí)現(xiàn)環(huán)形進(jìn)度CSS3+jQuery/Vue

    摘要:整體思路是通過(guò)裁切產(chǎn)生兩個(gè)半圓展示出靜態(tài)的進(jìn)度條,而后通過(guò)旋轉(zhuǎn)角度的變化產(chǎn)生動(dòng)態(tài)效果。而藍(lán)色部分元素的顏色,是我們還未到達(dá)的進(jìn)度。演示勤快的我去里寫(xiě)了一下這個(gè)是的實(shí)現(xiàn)這個(gè)是的實(shí)現(xiàn)環(huán)形進(jìn)度條。參考文章利用和實(shí)現(xiàn)環(huán)形進(jìn)度條 整體思路是:通過(guò)裁切(clip)產(chǎn)生兩個(gè)半圓展示出靜態(tài)的進(jìn)度條,而后通過(guò)旋轉(zhuǎn)(rotate)角度的變化產(chǎn)生動(dòng)態(tài)效果。 先來(lái)回顧兩個(gè)基礎(chǔ)知識(shí)點(diǎn) (1)css的一個(gè)不常見(jiàn)的...

    BWrong 評(píng)論0 收藏0
  • 實(shí)現(xiàn)環(huán)形進(jìn)度CSS3+jQuery/Vue

    摘要:整體思路是通過(guò)裁切產(chǎn)生兩個(gè)半圓展示出靜態(tài)的進(jìn)度條,而后通過(guò)旋轉(zhuǎn)角度的變化產(chǎn)生動(dòng)態(tài)效果。而藍(lán)色部分元素的顏色,是我們還未到達(dá)的進(jìn)度。演示勤快的我去里寫(xiě)了一下這個(gè)是的實(shí)現(xiàn)這個(gè)是的實(shí)現(xiàn)環(huán)形進(jìn)度條。參考文章利用和實(shí)現(xiàn)環(huán)形進(jìn)度條 整體思路是:通過(guò)裁切(clip)產(chǎn)生兩個(gè)半圓展示出靜態(tài)的進(jìn)度條,而后通過(guò)旋轉(zhuǎn)(rotate)角度的變化產(chǎn)生動(dòng)態(tài)效果。 先來(lái)回顧兩個(gè)基礎(chǔ)知識(shí)點(diǎn) (1)css的一個(gè)不常見(jiàn)的...

    charles_paul 評(píng)論0 收藏0
  • svg和css3創(chuàng)建環(huán)形漸變進(jìn)度

    摘要:在負(fù)責(zé)的項(xiàng)目中,有一個(gè)環(huán)形漸變讀取進(jìn)度的效果的需求,于是在網(wǎng)上查閱相關(guān)資料整理一下。 在負(fù)責(zé)的項(xiàng)目中,有一個(gè)環(huán)形漸變讀取進(jìn)度的效果的需求,于是在網(wǎng)上查閱相關(guān)資料整理一下。代碼如下: Title ...

    mo0n1andin 評(píng)論0 收藏0
  • svg和css3創(chuàng)建環(huán)形漸變進(jìn)度

    摘要:在負(fù)責(zé)的項(xiàng)目中,有一個(gè)環(huán)形漸變讀取進(jìn)度的效果的需求,于是在網(wǎng)上查閱相關(guān)資料整理一下。 在負(fù)責(zé)的項(xiàng)目中,有一個(gè)環(huán)形漸變讀取進(jìn)度的效果的需求,于是在網(wǎng)上查閱相關(guān)資料整理一下。代碼如下: Title ...

    rubyshen 評(píng)論0 收藏0
  • svg和css3創(chuàng)建環(huán)形漸變進(jìn)度

    摘要:在負(fù)責(zé)的項(xiàng)目中,有一個(gè)環(huán)形漸變讀取進(jìn)度的效果的需求,于是在網(wǎng)上查閱相關(guān)資料整理一下。 在負(fù)責(zé)的項(xiàng)目中,有一個(gè)環(huán)形漸變讀取進(jìn)度的效果的需求,于是在網(wǎng)上查閱相關(guān)資料整理一下。代碼如下: Title ...

    lily_wang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<