2 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
正如我所評(píng)論的,您可以旋轉(zhuǎn) svg 元素 transform:rotate(-90deg)。或者,您可以旋轉(zhuǎn)圓圈。您也可以使用路徑而不是圓圈并使其從頂部開始。如果你想使用路徑,你可以這樣做:
在這種情況下,路徑從頂部開始M60,4 接下來(lái)是一個(gè)半徑均為 56 的弧。第一個(gè)弧結(jié)束于 60,116 跟隨第二個(gè)弧A56,56,0 0 1 60,4,最后你關(guān)閉路徑z
因?yàn)閏ircumference你不需要知道半徑。您可以執(zhí)行var circumference = circle.getTotalLength();wheregetTotalLength是返回路徑總長(zhǎng)度的方法。
var circle = document.querySelector('path');
var circumference = circle.getTotalLength();
circle.style.strokeDasharray = circumference;
circle.style.strokeDashoffset = circumference;
function setProgress(percent) {
var offset = circumference - percent / 100 * circumference;
circle.style.strokeDashoffset = offset;
}
setProgress(60);
<svg class="progress-ring" width="120" height="120">
<path fill="none" class="progress-ring__circle" stroke="black" stroke-linecap="round" stroke-width="8" d="M60,4A56,56,0 0 1 60,116A56,56,0 0 1 60,4z" />
</svg>

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
首先,歡迎使用StackOverflow。
我認(rèn)為你在這里有一個(gè)三角問(wèn)題。你的代碼有一個(gè)三角圓,它像右邊的其他三角圓一樣開始:
https://upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Unit_circle_angles_color.svg/1200px-Unit_circle_angles_color.svg.png
一個(gè)簡(jiǎn)單的解決方案是用 CSS 旋轉(zhuǎn)你的圓圈:
svg{
transform: rotate(-90deg);
}
添加回答
舉報(bào)