免费国产欧美国日产_少妇AV一区二区三区无码_蜜桃精品av无码喷奶水小说_jk18禁网站视频_精产国品一二三级产品区别_被夫の上司に犯波多野结衣_78m成人手机免费看_最爽最刺激18禁视频_偷偷色噜狠狠狠狠的777米奇

易優(yōu)GEO 重磅上線 ~ 一站式GEO優(yōu)化工具,讓豆包、文心一言、DeepSeek 在回答中主動(dòng)推薦你的品牌,搶占AI流量入口!  點(diǎn)擊查看

小程序模板網(wǎng)

使用css3實(shí)現(xiàn)圓形進(jìn)度條

發(fā)布時(shí)間:2018-04-14 14:52 所屬欄目:小程序開(kāi)發(fā)教程

這篇文章里面使用jquery實(shí)現(xiàn),但原理是一樣的,在小程序中只要定義并改變相應(yīng)的變量就行了

另,文中的圖片是window自帶的工具繪制的,使用起來(lái)不方便。如果有好用的繪圖軟件,請(qǐng)瀏覽 推薦,謝謝!

正文:

在開(kāi)發(fā)微信小程序的時(shí)候,遇到圓形進(jìn)度條的需求。使用canvas繪圖比較麻煩:

1、為了實(shí)現(xiàn)在不同屏幕上面的適配,必須動(dòng)態(tài)的計(jì)算進(jìn)度條的大??;

2、在小程序中,canvas的畫(huà)布具有最高的層級(jí),不易于擴(kuò)展。

但使用css3和js實(shí)現(xiàn)圓形進(jìn)度條就很容易的避免了這方面的問(wèn)題。

 

一、進(jìn)度條樣式的樣式

在平時(shí)的開(kāi)發(fā)中,經(jīng)常使用元素的border來(lái)顯示圓形圖案,在使用css3實(shí)現(xiàn)圓形進(jìn)度條時(shí),同樣也是使用這個(gè)技巧。為了實(shí)現(xiàn)上面的圓形邊框,動(dòng)態(tài)的覆蓋下面圓形邊框,總共需要一個(gè)圓形,2個(gè)長(zhǎng)方形和2個(gè)半圓形:一個(gè)圓形用來(lái)顯示底層背景,兩個(gè)半圓形用來(lái)覆蓋底層背景顯示進(jìn)度,另外兩個(gè)長(zhǎng)方形用來(lái)覆蓋不需要顯示的進(jìn)度。如下圖: 

最下面的bottom圓形是進(jìn)度條的背景,在bottom上面有l(wèi)eft和right兩個(gè)長(zhǎng)方形,用來(lái)覆蓋不要顯示的進(jìn)度條。在兩個(gè)長(zhǎng)方形的里面分別有一個(gè)半圓形用來(lái)顯示進(jìn)度。正常情況下,使用正方形繪制出來(lái)的半圓,直徑和水平下都是有45度夾角的。為了能使兩個(gè)半圓剛好可以覆蓋整個(gè)圓形,就需要使用css3中的rotate使原有正方形旋轉(zhuǎn),達(dá)到覆蓋整個(gè)背景的效果。如下圖(為了顯示清楚,這里用正方形表示): 

如圖,將長(zhǎng)方形內(nèi)部的半圓向右(順時(shí)針)旋轉(zhuǎn)45度,就可以得到進(jìn)度覆蓋整個(gè)背景的圖像。將半圓向左(逆時(shí)針)旋轉(zhuǎn)135度就能得到只有進(jìn)度條背景的圖像。為什么又要向左旋轉(zhuǎn),而不是一直向右旋轉(zhuǎn),當(dāng)然是因?yàn)橐獙?shí)現(xiàn)的效果是:進(jìn)度是從頂部開(kāi)始,順時(shí)走完的。到這里,思路就很清晰了,只需要再按百分比的多少來(lái)控制左邊和右邊進(jìn)度的顯示就可以了。

實(shí)現(xiàn)這部分的html和css代碼如下:

html代碼

 

  1.  
  2. <div class="progressbar">
  3.  
  4. <div class="left-container">
  5.  
  6. <div class="left-circle"></div>
  7.  
  8. </div>
  9.  
  10. <div class="right-container">
  11.  
  12. <div class="right-circle"></div>
  13.  
  14. </div>
  15.  
  16. </div>

css代碼:

 

  1. .progressbar{
  2.  
  3. position: relative;
  4.  
  5. margin: 100px auto;
  6.  
  7. width: 100px;
  8.  
  9.  


本文地址:http://www.szcjxy.com/wxmini/doc/course/23389.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢(xún): 點(diǎn)擊咨詢(xún)
在線客服