2014-03-04 236 views
0

我想通过css调整svg元素的大小,但不是缩小图像大小,而是将图片的大小减半,就好像我将大小调整应用于容器元素一样...请检查http://www.vgtest.co.nf/SVG内联样式

svg#gear { 
    width:300px; 
    height:300px; 
    position:fixed; 
    left:0%; 
    top:50%; 
} 
+1

g元素(背景)保持其原始大小(593 x 593px)..但为什么?您定义错误的SVG ID为 – Vynce82

+1

。你应该使用'svg#gear' –

+0

我已经擦除了除#gear之外的所有样式,但它仍然有同样的问题 - 它看起来像路径和地面有它们的原始大小...也许它在svg代码中的内联? – Vynce82

回答

1

必须定义的高度和宽度属性以及对SVG元素..

svg#gear { 
    height: 593px; 
    left: 0; 
    position: fixed; 
    top: 50%; 
    width: 593px; 
} 

另外如果视口和视图框不具有相同的纵横比(宽度与高度之比) ,您需要指定<svg>元素的preserveAspectRatio属性。

例如你的情况。

<svg width="593px" height="593px" viewBox="0 0 1700 1700" preserveAspectRatio="xMinYMin meet"></svg> 
+0

谢谢!我正在玩viewbox属性..这似乎有点棘手! – Vynce82

+0

所以我想包含div为200px乘200px(和svg缩放以适合div)我给视口什么值? – Vynce82

+1

@ Vynce82我在办公室,所以现在不能回答了。但此链接可以帮助您了解视口的工作方式。 http://tutorials.jenkov.com/svg/svg-viewport-view-box.html –

2

您需要给<svg>元素一个viewBox属性来停止发生。尝试viewBox =“0 0 1200 1200”开始并根据需要进行调整。