将 SVG 大小调整为 100% 宽度但保持圆半径,该怎么做?

Jur*_*ury 4 css svg

我们使用SVG来绘制折线图:

在此输入图像描述

根据设计,宽度应为 100%,因此生成 SVG 时其确切值是未知的。keepAspectRatio="none"使 SVG 填充 100% 宽度,但它会扭曲圆圈。

我们使用vector-effect="non-scaling-lines"选项来避免线条变形;缩放 SVG 时是否有一些技巧可以保持圆半径相同?

Jur*_*ury 6

解决方案是将替换为长度为零但圆帽的线。所以每个“圆”看起来像 -

<line x1="x" y1="y" x2="x" y2="y" 
style="stroke:#00a7e1;stroke-linecap:round;stroke-width:13px;vector-effect:non-scaling-stroke" />
Run Code Online (Sandbox Code Playgroud)