2014-03-04 239 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」開始並根據需要進行調整。