У меня есть огромные динамические списки, которые ссылаются на большое количество отдельных (сгенерированных) SVG (стилизованных сокращений).
Я не люблю помещать сгенерированные SVG в отдельные файлы, потому что это создаст сотни/ тысячи запросов.Даже с HTTP / 2 как-то мне не понравилось бы это решение.У меня такое ощущение, что это создает ненужные накладные расходы.
Каждый раз, когда я включаю полный SVG, я тоже не люблю.Он создает дубликаты данных для всех одних и тех же сокращений (элемент может появляться несколько раз на странице), и рядом с этим это очень динамичная страница: я чувствую, что смена фонового изображения происходит намного быстрее, чем смена DOM с помощью SVG.
Итак: можно ли ссылаться на SVG, определенный где-то еще в документе?
Я ищу что-то похожее на:
<!-- generated by server -->
<div style="display: hidden;">
<svg id="acronym-abc">
[...]
</svg>
<svg id="acronym-xyz">
[...]
</svg>
</div>
<!-- generated by client -->
<ul>
<li style="background: SVG(id=acronym-abc)"></li>
<li style="background: SVG(id=acronym-xyz)"></li>
<li style="background: SVG(id=acronym-abc)"></li>
[...]
</ul>
ОБНОВЛЕНИЕ
Из моего вопроса было не ясно, но у меня есть предпочтение чему-то, что я могу использовать в сочетании с background-image
и поддержкой IE9.В противном случае я приму ответ от @ web-tiki.