नोट xlink:href
को हटा दिया गया है , बस href
इसके बजाय उपयोग करें , जैसे
<svg viewBox="0 0 512 512">
<image width="512" height="512" href="external.svg"/>
</svg>
viewBox
, width
और height
मान (इस उत्तर में) केवल उदाहरण के उद्देश्य से हैं, लेआउट को तदनुसार समायोजित करें (और पढ़ें )।
चूंकि <image>
इसी तरह के शेयरों के रूप में <img>
, जिसका अर्थ है कि यह एसवीजी स्टाइलिंग का समर्थन नहीं करता है, जैसा कि क्रिस्टियान के उत्तर में वर्णित है । उदाहरण के लिए, यदि मेरे पास निम्न सीएसएस लाइन है जो कि svg आकार का रंग फ़ॉन्ट रंग के समान है,
svg {
fill: currentColor;
}
यदि <image>
उपयोग किया जाता है तो उपरोक्त शैली लागू नहीं होगी । उसके लिए, आपको उपयोग करने की आवश्यकता है <use>
, जैसा कि निक के उत्तर में दिखाया गया है ।
उसके उत्तर में नोट id="layer1"
और href="OTHERFILE.svg#layer1"
मूल्य अनिवार्य हैं ।
मतलब आपको id
बाहरी svg फ़ाइल में विशेषता को जोड़ना है , इसलिए आपको अपने (अपनी वेबसाइट) या कहीं और द्वारा बाहरी (संशोधित) बाहरी svg फ़ाइल को होस्ट करने की आवश्यकता है। परिणामी बाहरी svg फ़ाइल इस तरह दिखाई देती है (ध्यान दें कि मैंने कहाँ रखी है id
):
<svg id="logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path d="..."/>
</svg>
आईडी का मूल्य कुछ भी हो सकता है, मैं इस उदाहरण में "लोगो" का उपयोग करता हूं।
उस svg को एम्बेड करने के लिए,
<svg viewBox="0 0 512 512">
<use href="edited-external.svg#logo"/>
</svg>
यदि आप अपने html में इनलाइन के रूप में उपरोक्त svg का उपयोग करते हैं, तो आपको xmlns विशेषता की आवश्यकता नहीं है (कम से कम मुझे svgo से जो पता है )।