Catatan xlink:href
sudah tidak digunakan lagi , gunakan href
saja, mis
<svg viewBox="0 0 512 512">
<image width="512" height="512" href="external.svg"/>
</svg>
viewBox
, width
dan height
nilai (dalam jawaban ini) hanya untuk tujuan ilustrasi, sesuaikan tata letak yang sesuai ( baca lebih lanjut ).
Karena <image>
memiliki spesifikasi yang mirip dengan <img>
, artinya tidak mendukung gaya SVG, seperti yang disebutkan dalam jawaban Christiaan . Misalnya, jika saya memiliki baris css berikut yang mengatur warna bentuk svg menjadi sama dengan warna font,
svg {
fill: currentColor;
}
Gaya di atas tidak akan berlaku jika <image>
digunakan. Untuk itu, Anda perlu menggunakan <use>
, seperti yang ditunjukkan pada jawaban Nick .
Catatan id="layer1"
dan href="OTHERFILE.svg#layer1"
nilai dalam jawabannya adalah wajib .
Artinya Anda harus menambahkan id
atribut ke file svg eksternal, jadi Anda perlu meng-host file svg eksternal (yang dimodifikasi) sendiri (situs web Anda) atau di tempat lain. File svg eksternal yang dihasilkan terlihat seperti ini (perhatikan di mana saya meletakkan id
):
<svg id="logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path d="..."/>
</svg>
Nilai id bisa apa saja, saya menggunakan "logo" dalam contoh ini.
Untuk menyematkan svg itu,
<svg viewBox="0 0 512 512">
<use href="edited-external.svg#logo"/>
</svg>
Jika Anda menggunakan svg di atas sebagai inline di html Anda, Anda tidak memerlukan atribut xmlns (setidaknya yang saya ketahui dari svgo ).