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