2011-02-23 92 views
1

我動態生成一個svg,這可能導致很高的高度值。 (這是一個表)。 我的目標是有:在X軸上統一刻度

  1. 比X軸
  2. 滾動條滾動的圖像向下

我知道我有SVG的heightwidth玩, viewBoxpreserveAspectRatio,但爲了實現我的目標,我使用了一個骯髒的技巧,在底部留下了很多空白區域:我將圖像的高度設置爲非常高的值。

問題是,我不確定表(圖像)永遠不會超過此值(我不想最終將其設置爲100000)。

任何人都可以幫助我嗎?

這裏是我的工作,以找到一個解決方案的例子:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 

<svg 
xmlns:svg="http://www.w3.org/2000/svg" 
xmlns="http://www.w3.org/2000/svg" 
version="1.1" 
width="100%" 
height="2000" 
viewBox="0 0 1366 768" 
preserveAspectRatio="xMinYMin meet"> 

<rect 
    width="1359.5181" 
    height="42.065403" 
    x="3" 
    y="3" 
    id="rect2985" 
    style="fill:#ffff78;stroke:#000000;stroke-width:10" /> 
<rect 
    width="719.58691" 
    height="805.50775" 
    x="316.83304" 
    y="177.29433" 
    id="rect2987" 
    style="fill:#ffff78;stroke:#000000;stroke-width:10" /> 
<text 
    x="15" 
    y="30" 
    id="text2989" 
    style="font-size:23px">LOL</text> 
</svg> 
+0

如果以編程方式創建的SVG你能不能確定邊界創建SVG XML代碼之前? – 2011-02-23 00:38:03

回答

0

是的,我想我應該。

我會用這個現在(仍得進行全面的測試):

function fixHeight() 
{ 
node = document.getElementById("table"); 
node.setAttribute("height", node.getBBox().width); 
}