如何拉伸 SVG 中的所有矩形,使它们占据所有宽度
How to stretch all rectangles in SVG so they take all width
我有这个 SVG:
<svg width="100%" height="40" viewBox="0 0 371 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="57" y="1" width="45" height="15" fill="#e1d6f2"/>
<rect x="103" y="1" width="45" height="15" fill="#c1b0e2"/>
<rect x="149" y="1" width="45" height="15" fill="#9b80ce"/>
<rect x="195" y="1" width="45" height="15" fill="#6d4cbf"/>
<rect x="241" y="1" width="45" height="15" fill="#4d2c7a"/>
<text x="57" y="38" text-anchor="middle" fill="#000">0</text>
<text x="102" y="38" text-anchor="middle" fill="#000">20</text>
<text x="147" y="38" text-anchor="middle" fill="#000">40</text>
<text x="192" y="38" text-anchor="middle" fill="#000">60</text>
<text x="237" y="38" text-anchor="middle" fill="#000">80</text>
<text x="290" y="38" text-anchor="middle" fill="#000">100%</text>
</svg>
目前 SVG 采用父容器的宽度,但矩形保持相同的大小。我希望它们采用 window 调整大小来获取所有宽度和比例。我该如何实现?
关键是添加宽度和 x
值作为百分比。
示例如下:
<svg width="100%" height="40" xmlns="http://www.w3.org/2000/svg">
<rect width="25%" height="15" fill="#e1d6f2" />
<rect width="25%" height="15" fill="#c1b0e2" x="20%" />
<rect width="25%" height="15" fill="#9b80ce" x="40%"/>
<rect width="25%" height="15" fill="#6d4cbf" x="60%"/>
<rect width="25%" height="15" fill="#4d2c7a" x="80%"/>
<text x="3%" y="38" text-anchor="middle" fill="#000">0</text>
<text x="20%" y="38" text-anchor="middle" fill="#000">20</text>
<text x="40%" y="38" text-anchor="middle" fill="#000">40</text>
<text x="60%" y="38" text-anchor="middle" fill="#000">60</text>
<text x="80%" y="38" text-anchor="middle" fill="#000">80</text>
<text x="96%" y="38" text-anchor="middle" fill="#000">100%</text>
</svg>
我有这个 SVG:
<svg width="100%" height="40" viewBox="0 0 371 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="57" y="1" width="45" height="15" fill="#e1d6f2"/>
<rect x="103" y="1" width="45" height="15" fill="#c1b0e2"/>
<rect x="149" y="1" width="45" height="15" fill="#9b80ce"/>
<rect x="195" y="1" width="45" height="15" fill="#6d4cbf"/>
<rect x="241" y="1" width="45" height="15" fill="#4d2c7a"/>
<text x="57" y="38" text-anchor="middle" fill="#000">0</text>
<text x="102" y="38" text-anchor="middle" fill="#000">20</text>
<text x="147" y="38" text-anchor="middle" fill="#000">40</text>
<text x="192" y="38" text-anchor="middle" fill="#000">60</text>
<text x="237" y="38" text-anchor="middle" fill="#000">80</text>
<text x="290" y="38" text-anchor="middle" fill="#000">100%</text>
</svg>
目前 SVG 采用父容器的宽度,但矩形保持相同的大小。我希望它们采用 window 调整大小来获取所有宽度和比例。我该如何实现?
关键是添加宽度和 x
值作为百分比。
示例如下:
<svg width="100%" height="40" xmlns="http://www.w3.org/2000/svg">
<rect width="25%" height="15" fill="#e1d6f2" />
<rect width="25%" height="15" fill="#c1b0e2" x="20%" />
<rect width="25%" height="15" fill="#9b80ce" x="40%"/>
<rect width="25%" height="15" fill="#6d4cbf" x="60%"/>
<rect width="25%" height="15" fill="#4d2c7a" x="80%"/>
<text x="3%" y="38" text-anchor="middle" fill="#000">0</text>
<text x="20%" y="38" text-anchor="middle" fill="#000">20</text>
<text x="40%" y="38" text-anchor="middle" fill="#000">40</text>
<text x="60%" y="38" text-anchor="middle" fill="#000">60</text>
<text x="80%" y="38" text-anchor="middle" fill="#000">80</text>
<text x="96%" y="38" text-anchor="middle" fill="#000">100%</text>
</svg>