目標は、<svg>
要素がその親コンテナのサイズに拡張さ<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>
ドキュメントのすべての要素が固定サイズの代わりにパーセンテージの幅、高さなどを使用するようにする方法があります。 ?