<p>我发现了这段代码</p>
<pre class="brush:php;toolbar:false;"><svg xmlns="http://www.w3.org/2000/svg"
viewBox="-1 -1 34 34">
<circle cx="16" cy="16" r="15.9155" class="progress-bar__background" />
<circle cx="16" cy="16" r="15.9155" class="progress-bar__progress js-progress-bar"/>
</svg></pre>
<pre class="brush:php;toolbar:false;">$progress-bar-stroke-width: 1.8;
$progress-bar-size: 300px;
svg {
height: $progress-bar-size;
transform: rotate(-90deg);
width: $progress-bar-size;
}
.progress-bar__background {
fill: none;
stroke: #e2eff0;
stroke-width: $progress-bar-stroke-width;
}
.progress-bar__progress {
fill: none;
stroke: #78bec7;
stroke-dasharray: 100 100;
stroke-dashoffset: 100;
stroke-linecap: round;
stroke-width: $progress-bar-stroke-width;
transition: stroke-dashoffset 1s ease-in-out;
}</pre>
<pre class="brush:php;toolbar:false;">var percentageComplete = 0.6;
var strokeDashOffsetValue = 100 - (percentageComplete * 100);
var progressBar = $(".js-progress-bar");
progressBar.css("stroke-dashoffset", strokeDashOffsetValue);</pre>
<p>但是我不知道如何处理svg,有人可以帮我吗,如何将那个蓝绿色替换成渐变色,像conic-gradient(red, yellow, green - 确切的这三种颜色)?</p>
在SVG中,您可以使用
<linearGradient>
和<radialGradient>
。您正在创建一个进度条,所以根据布局,径向渐变可能是创建“锥形渐变”(加引号!)的选项,但是使用起来真的很烦人。一个很好的替代内置渐变的方法可能是结合SVG和CSS。您可以将CSS样式应用于嵌入的SVG元素。只要您只需要一个可应用于SVG元素的锥形渐变,然后进行遮罩,以便它只显示在描边或其他地方。这是一个示例: