Ghi chú xlink:href
đã không được dùng nữa , chỉ cần sử dụng href
thay thế, ví dụ:
<svg viewBox="0 0 512 512">
<image width="512" height="512" href="external.svg"/>
</svg>
viewBox
, width
và height
các giá trị (trong câu trả lời này) chỉ nhằm mục đích minh họa, hãy điều chỉnh bố cục cho phù hợp ( đọc thêm ).
Kể từ khi <image>
cổ phần đặc tả tương tự như <img>
, có nghĩa là nó không hỗ trợ SVG phong cách, như đã đề cập trong câu trả lời của Christiaan . Ví dụ: nếu tôi có dòng css sau đặt màu svg shape giống với màu phông chữ,
svg {
fill: currentColor;
}
Kiểu trên sẽ không áp dụng nếu <image>
được sử dụng. Đối với điều đó, bạn cần phải sử dụng <use>
, như được hiển thị trong câu trả lời của Nick .
Lưu ý id="layer1"
và href="OTHERFILE.svg#layer1"
các giá trị trong câu trả lời của anh ấy là bắt buộc .
Có nghĩa là bạn phải thêm id
thuộc tính vào tệp svg bên ngoài, vì vậy bạn cần lưu trữ tệp svg bên ngoài (đã sửa đổi) bởi chính bạn (trang web của bạn) hoặc ở một nơi khác. Tệp svg bên ngoài kết quả trông giống như thế này (lưu ý nơi tôi đặt id
):
<svg id="logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path d="..."/>
</svg>
Giá trị của id có thể là bất kỳ thứ gì, tôi sử dụng "logo" trong ví dụ này.
Để nhúng svg đó,
<svg viewBox="0 0 512 512">
<use href="edited-external.svg#logo"/>
</svg>
Nếu bạn sử dụng svg ở trên làm nội tuyến trong html của mình, bạn không cần thuộc tính xmlns (ít nhất là những gì tôi biết từ svgo ).