SVG ni umbizo la picha la vector (linalotegemea XML), kwa hivyo linapanuka hadi ukubwa wowote bila kuwa na ukungu. Unaweza kuiingiza kwa njia kuu mbili, kila moja ikiwa na faida na hasara zake.
Inline SVG — markup moja kwa moja katika HTML
SVG ni umbizo la picha la vector (linalotegemea XML), kwa hivyo linapanuka hadi ukubwa wowote bila kuwa na ukungu. Unaweza kuiingiza kwa njia kuu mbili, kila moja ikiwa na faida na hasara zake.
Faida: unaweza kuipamba kwa CSS (fill, stroke), kuhuisha sehemu zake, kubadilisha rangi kupitia currentColor (inarithi rangi ya maandishi), na kuitikia matukio — kwa sababu ni DOM halisi. Hakuna ombi la ziada la HTTP.
Hasara: inavimba HTML, haihifadhiwi cache kivyake, ikoni zinazorudiwa zinanakili markup.
<img> — inayorejelewa kama faili<img src="logo.svg" alt="Company logo" width="120" />
Faida: inahifadhiwa cache na kivinjari, inaweka HTML safi, ni rahisi. Hasara: huwezi kupamba au ku-script ndani yake kwa CSS/JS yako — ni picha isiyoonekana ndani.
Need to recolor/animate/interact with the SVG → inline SVG
Static logo/illustration, want caching + clean HTML → <img src=".svg">
Many repeated icons → an SVG sprite (<use>) or an icon component
<svg role="img" aria-label="Settings">...</svg> <!-- meaningful icon -->
<svg aria-hidden="true">...</svg> <!-- decorative: hide from AT -->
Kuchagua inline dhidi ya <img> SVG kunategemea iwapo unahitaji kupamba/kuhuisha grafiki (inline) au tu kuionyesha kwa ufanisi (<img>).
Ikoni zinazobadilisha rangi wakati wa hover au theme zinakwenda inline (mara nyingi kama components); rasilimali tuli za chapa zinakwenda kupitia <img>.
Vyovyote vile, vectors zinabaki wazi katika kila azimio — bora kwa ikoni na nembo.