svg 两个叠加圆的边框宽度差异解析
在 svg 中绘制两个相叠的圆,可能会出现这样一个疑问:为什么两个拥有相同 stroke-width 属性的圆,实际呈现出来的边框宽度却不同?
下面的代码展示了如何绘制两个重叠的圆:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <circle cx="100" cy="50" r="40" stroke="gray" stroke-width="10" fill="#fff"/> <circle cx="100" cy="50" r="40" stroke-dasharray="50% 50%" stroke="black" stroke-width="10" fill="#fff"/> </svg>
你会发现,第二个圆的边框比第一个圆的要粗。这是因为 stroke 属性默认居中描边。而在 svg 中,填充 (fill) 发生在描边之前。这意味着,第二个圆的填充覆盖了第一个圆的一部分描边,从而导致后者的边框看起来更细。
如果将两个圆分开绘制,就会清晰地看到这一点:

因此,为了绘制具有相同边框宽度的叠加圆,需要将第二个圆的填充区域缩小,使其不覆盖第一个圆的描边。
以上就是SVG 中两个重叠圆的边框宽度为何不同?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号