目标是使<svg>
元素扩展到其父容器的大小,在这种情况下为a <div>
,无论该容器有多大或多小。
代码:
<style>
svg, #container{
height: 100%;
width: 100%;
}
</style>
<div id="container">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" >
<rect x="0" y="0" width="100" height="100" />
</svg>
</div>
解决此问题的最常见方法似乎是viewBox
在<svg>
元素上设置属性。
viewBox="0 0 widthOfContainer heightOfContainer"
但是,这在元素内的<svg>
元素具有预定义的宽度和/或高度的情况下似乎不起作用。例如,<rect>
在上面的代码中,元素的宽度和高度已明确设置。
因此,显而易见的解决方案是在这些元素上也使用百分比宽度和百分比高度。但这是否必须要做?特别是,由于<img src=test.svg >
可以很好地工作并且可以在没有明显设置<rect>
高度和宽度的情况下进行扩展/收缩。
如果像这样的元素<rect>
和其他类似的元素必须以百分比定义其宽度和高度,则Inkscape中可以通过一种方式对其进行设置,以使<svg>
文档中的所有元素都使用百分比的宽度,高度等。 ?