Цель состоит в том, чтобы <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>
документе использовали процентную ширину, высоту и т. Д. Вместо фиксированных размеров ?