2 回答

TA貢獻1786條經驗 獲得超13個贊
正如我所評論的,您可以旋轉 svg 元素 transform:rotate(-90deg)。或者,您可以旋轉圓圈。您也可以使用路徑而不是圓圈并使其從頂部開始。如果你想使用路徑,你可以這樣做:
在這種情況下,路徑從頂部開始M60,4 接下來是一個半徑均為 56 的弧。第一個弧結束于 60,116 跟隨第二個弧A56,56,0 0 1 60,4,最后你關閉路徑z
因為circumference你不需要知道半徑。您可以執行var circumference = circle.getTotalLength();wheregetTotalLength是返回路徑總長度的方法。
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貢獻1844條經驗 獲得超8個贊
首先,歡迎使用StackOverflow。
我認為你在這里有一個三角問題。你的代碼有一個三角圓,它像右邊的其他三角圓一樣開始:
https://upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Unit_circle_angles_color.svg/1200px-Unit_circle_angles_color.svg.png
一個簡單的解決方案是用 CSS 旋轉你的圓圈:
svg{
transform: rotate(-90deg);
}
添加回答
舉報