Примітка xlink:href
було застарілим , просто використовувати href
замість цього, наприклад ,
<svg viewBox="0 0 512 512">
<image width="512" height="512" href="external.svg"/>
</svg>
viewBox
, width
а height
значення (у цій відповіді) служать просто для ілюстрації, відповідно відрегулюйте макет ( докладніше ).
Оскільки <image>
акції аналогічної специфікації , як <img>
, маючи в увазі , що не підтримує SVG стиль, як зазначено в відповіді Християном в . Наприклад, якщо у мене є такий рядок css, який задає колір форми 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>
Значення id може бути будь-яким, я використовую "логотип" у цьому прикладі.
Щоб вставити цей svg,
<svg viewBox="0 0 512 512">
<use href="edited-external.svg#logo"/>
</svg>
Якщо ви використовуєте вищевказаний svg як вбудований у своєму html, вам не потрібен атрибут xmlns (принаймні те, що я знаю з svgo ).