Мета полягає в тому, щоб <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>документом використовували відсоткові ширини, висоти тощо .. замість фіксованих розмірів ?
