我动态生成svg,这可能会导致非常高的高度值。 (这是一张桌子。) 我的目标是:
我知道我必须使用svg的height
和width
,viewBox
和preserveAspectRatio
,但为了实现我的目标,我正在使用一个肮脏的技巧底部有很多空白区域:我将图像的高度设置为非常高的值。
问题是我不确定表(图像)永远不会超过这个值(我不想最终将它设置为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 :(得分:0)
是的,我想我应该。
我现在将使用它(仍需要经过全面测试):
function fixHeight()
{
node = document.getElementById("table");
node.setAttribute("height", node.getBBox().width);
}