Примечание 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 ).