2013-10-24 38 views
2

我失去了如何将圆形元素放置在svg的中心位置,而无需移动它,或者在调整页面大小时变得越来越小。如何在svg中居中圆形

我试过viewBox,但它没有做我所期望的。

+1

的'viewBox'将有效的SVG中居中,如果你正确地使用它。 –

+1

oh ...傻我.. =)获得(-1000 -1000)和(1000 1000)之间的坐标系... viewBox需要:viewBox =“ - 1000 -1000 2000 2000”最后两个值是长度,而不是坐标 – zcaudate

回答

4

viewBox变种的选择:

<svg width="100" height="100"> 
    <circle cx="50%" cy="50%" r="10"/> 
</svg> 

如果缩小整个页面的圆圈但是会变得更大。

另一种方法是使用零长度路径与圆linecaps,像这样:

<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> 

http://jsfiddle.net/dAEB9/

0

把你圈组<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> 

结果:
enter image description here

上的jsfiddle简单的例子:
https://jsfiddle.net/mattez/0p2pstrf/