You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何增加旋转SVG圆环的描边粗细?(实现更粗线条的方法)

解决旋转SVG圆环线条粗细问题

你的这个SVG动画用的是填充(fill)的闭合路径,不是描边(stroke)实现的圆环,所以没法直接通过调整stroke-width来改粗细。下面给你两种可行的解决方案:

方案一:修改现有路径的半径差(快速适配)

原路径是通过两个不同半径的圆弧组合出来的(a8和a11分别对应两个圆弧的半径),增大这两个半径的差值,就能让圆环变粗。比如把小半径从8改成7,大半径从11改成12,差值从3变成5,圆环就会明显变粗:

svg {
  background: beige;
  zoom: 4;
}
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24">
   <path fill="black" d="M9.87,19.94a7,7,0,0,1-5.66-8.57A6.77,6.77,0,0,1,10.4,4.6a7,7,0,0,1,8.28,5.71A1.54,1.54,0,0,0,20.22,12h.13a1.37,1.37,0,0,0,1.38-1.54,12,12,0,1,0-13.85,13.45A1.54,1.54,0,0,0,12,21.34h0A1.47,1.47,0,0,0,9.87,19.94Z">
   <animateTransform attributeName="transform" dur="2.25s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/>
   </path>
</svg>

方案二:改用描边实现(更灵活可控)

如果想以后随时调整粗细,建议把填充路径改成描边的圆环,直接用stroke-width控制粗细,动画逻辑也更清晰:

svg {
  background: beige;
  zoom: 4;
}
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24">
  <!-- 描边圆环,stroke-width控制粗细 -->
  <circle cx="12" cy="12" r="9" fill="none" stroke="black" stroke-width="3" 
          stroke-dasharray="56.55" stroke-dashoffset="14.14" />
  <!-- 旋转动画 -->
  <animateTransform attributeName="transform" dur="2.25s" repeatCount="indefinite" 
                    type="rotate" values="0 12 12;360 12 12"/>
</svg>

这里的stroke-width可以直接改成你想要的数值(比如4、5),r是圆环的外半径,需要保证r大于stroke-width的一半,避免描边超出SVG viewBox。

内容的提问来源于stack exchange,提问作者Jake Shaw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 17:55:06