我不知道如何在svg的中心放置一个圆形元素,而不会随着页面大小的调整而移动或变大变小。
我尝试使用viewBox,但它并没有达到我的预期效果。
<svg width="100" height="100">
<circle cx="50%" cy="50%" r="10"/>
</svg>
如果您放大整个页面,圆圈会变得更大。
另一种方法是使用带有圆形线端的零长度路径,如下所示:
<svg viewBox="0 0 100 100">
<path d="M50 50" stroke-linecap="round" stroke="black"
fill="none" vector-effects="non-scaling-stroke"
stroke-width="20"/>
</svg>
<svg viewBox="-1 -1 2 2"> <!-- viewBox defines the coordinate system.-->
<circle cx="0" cy="0" r="1" />
</svg>
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox
viewbox
需要将描边大小添加到宽度和高度中,然后圆形需要偏移半个描边大小。如果 stroke=6
,则 viewbox= -3 -3 106 106
。 - theman0123<g>
中,并使用transform="translate(x, y)"
。<svg viewBox="0 0 400 400">
<g transform="translate(200, 200)">
<circle cx="0" cy="0" r="200" style="" fill="darkOrange"></circle>
</g>
</svg>
JSFiddle上的简单示例:
https://jsfiddle.net/mattez/0p2pstrf/
viewBox
,它将有效地使SVG居中。 - Josh Crozier