溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在html中使用svg生成一個(gè)環(huán)形進(jìn)度條法

發(fā)布時(shí)間:2021-04-17 16:00:15 來源:億速云 閱讀:162 作者:Leah 欄目:web開發(fā)

怎么在html中使用svg生成一個(gè)環(huán)形進(jìn)度條法?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

<svg width="150px" height="150px" class="svg">
    <circle r="70" cy="75" cx="75" stroke-width="8" stroke="#EAEFF4" stroke-linejoin="round" stroke-linecap="round" fill="none"/>
    <circle class="progress" r="70" cy="75" cx="75" stroke-width="8" stroke="#1593FF" stroke-linejoin="round" stroke-linecap="round" fill="none" stroke-dashoffset="0px"  stroke-dasharray="471px" />
</svg>

為了便于演示,我們先用css動(dòng)畫控制:

svg {
    transform: rotate(-90deg);
}
.progress {
    animation: rotate 1500ms linear both;
}
@keyframes rotate {
    from {
        stroke-dashoffset: 471px;
    }
    to {
        stroke-dashoffset: 0px;
    }
}

實(shí)現(xiàn)原理

實(shí)現(xiàn)原理非常簡(jiǎn)單,就是應(yīng)用svg的stroke-dashoffset和stroke-dasharray屬性。

stroke-dasharray

官方解釋為可控制用來描邊的點(diǎn)劃線的圖案范式,即定義虛線每段長(zhǎng)度即虛線間間隔,數(shù)與數(shù)之間用逗號(hào)或者空白隔開,指定短劃線和缺口的長(zhǎng)度。如果提供了奇數(shù)個(gè)值,則這個(gè)值的數(shù)列重復(fù)一次,從而變成偶數(shù)個(gè)值。

stroke-dashoffset

標(biāo)識(shí)的是整個(gè)路徑的偏移值。

通過控制虛線的間隔與偏移值,便可以行程各種各樣的線條動(dòng)畫,當(dāng)然我們還可以通過js控制,如下:

let path = document.querySelector('#path');
// 可獲取路徑的長(zhǎng)度
let len = path.getTotalLength();
path.style.cssText = `stroke-dasharray:"${number}"`;

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI