Câu trả lời:
Thích <use>
để <image>
càng về sau được hiển thị ở độ phân giải cố định và không quy mô như các đối tượng vector thường xuyên làm trong tài liệu hiện hành. http://www.w3.org/TR/SVG11/struct.html#ImageEuity
Nhưng phần tử <use>
không thể tham chiếu toàn bộ tệp SVG, xlink:href
thuộc tính của nó là tham chiếu đến phần tử / đoạn trong tài liệu SVG ( http://www.w3.org/TR/SVG11/struct.html#UseEuity ). Phần tử 'use' có thể tham chiếu bất kỳ tài nguyên cục bộ hoặc không cục bộ nào.
thí dụ:
MyLibrary.svg:
<svg (...)>
<rect x="0" y="0" width="200" inkscape:label="upper-left-blue"
style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="upper-left-blue" height="200"/>
UseParts.svg:
<use x="0" y="0" width="400" xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="MyLibrary.svg#upper-left-blue" xlink:type="simple"
xlink:actuate="onLoad" height="400" id="use8793" xlink:show="embed"/>
Hỗ trợ tính năng đó có thể khác nhau đối với các biên tập viên / người xem SVG khác nhau, theo như tôi biết nó sẽ hoạt động (ít nhất) trong Inkscape, Firefox và Batik.
Sử dụng image
phần tử và tham chiếu tệp SVG của bạn. Để giải trí, hãy lưu lại những điều sau recursion.svg
:
<svg width="100%" height="100%" viewBox="-100 -100 200 200" version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<circle cx="-50" cy="-50" r="30" style="fill:red" />
<image x="10" y="20" width="80" height="80" xlink:href="recursion.svg" />
</svg>
Nguồn: /programming/5451135/embed-svg-in-svg/5451238#5451238