Celem jest <svg>
rozwinięcie elementu do rozmiaru jego kontenera nadrzędnego, w tym przypadku a <div>
, bez względu na to, jak duży lub mały może być ten kontener.
Kod:
<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>
Najczęstszym rozwiązaniem tego problemu wydaje się być ustawienie viewBox
atrybutu na <svg>
elemencie.
viewBox="0 0 widthOfContainer heightOfContainer"
Jednak wydaje się, że nie działa to w przypadkach, gdy elementy w <svg>
elemencie mają wstępnie zdefiniowane szerokości i / lub wysokości. Na przykład <rect>
element w powyższym kodzie ma jawnie ustawioną szerokość i wysokość.
Więc oczywistym rozwiązaniem jest użycie% szerokości i% wysokości również dla tych elementów. Ale czy to w ogóle trzeba zrobić? Zwłaszcza, że <img src=test.svg >
działa dobrze i rozszerza się / kurczy bez żadnych problemów z wyraźnie określonymi <rect>
wysokościami i szerokościami.
Jeśli elementy takie jak <rect>
i inne podobne elementy muszą mieć swoje szerokości i wysokości zdefiniowane w procentach, czy istnieje sposób w Inkscape, aby ustawić to tak, aby wszystkie elementy w <svg>
dokumencie używały procentowych szerokości, wysokości itp. Zamiast stałych wymiarów ?