लक्ष्य <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>
और इसके जैसे अन्य तत्व, उनकी चौड़ाई और ऊँचाई प्रतिशत में परिभाषित हैं, तो क्या इसे सेट करने के लिए इंकस्केप में एक तरीका है ताकि <svg>
दस्तावेज़ के सभी तत्व प्रतिशत आयामों के बजाय प्रतिशत चौड़ाई, ऊँचाई आदि का उपयोग करें। ?