Цель состоит в том, чтобы элемент <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>
в приведенном выше коде имеет явно заданную ширину и высоту.
Таким образом, очевидным решением является использование% width и% высот для этих элементов. Но это даже нужно сделать? Тем более, что <img src=test.svg >
работает нормально и без каких-либо проблем расширяет/заключает контракты с явно установленными высотами и ширинами <rect>
.
Если такие элементы, как <rect>
и другие подобные ему элементы, должны иметь свои ширины и высоты, определенные в процентах, есть способ в Inkscape установить его так, чтобы все элементы с документом <svg>
использовали процентную ширину, высоты и т.д. вместо фиксированных размеров?