Optimizacija SVG
Optimiziraj in skrči datoteke SVG s SVGO v brskalniku. Izberi prednastavitev, vizualno primerjaj rezultat in oglej si prihranek pri velikosti in gzipu.
Vtičniki
Če odstraniš viewBox, se risba ne more več prilagajati velikosti, skrajšanje ali odstranitev ID-jev pa pokvari CSS, JavaScript, <use> ali povezave na sidra, ki se nanje sklicujejo. Za SVG, uporabljene v kodi, sprite sheetih ali animacijah, ohrani prednastavitev Varno.
- Izvirna velikost
- Optimizirana velikost
- Prihranek
- Gzip
Kako optimiziraš SVG
- Spusti datoteko SVG na območje za spuščanje ali klikni nanj in jo izberi. Kodo lahko tudi prilepiš v polje Koda SVG.
- Izberi Prednastavitev: Varno, Uravnoteženo (privzeto) ali Največ. Seznam Vtičniki spodaj natančno pokaže, katere korake posamezna prednastavitev vklopi.
- Po potrebi prilagodi Decimalno natančnost (od 0 do 8 mest), Več prehodov in Lepa oblika (zamaknjen izhod), če želiš berljivo kodo. Takoj ko spremeniš vtičnik, natančnost ali prehode, se prednastavitev preklopi na Po meri.
- Klikni Optimiziraj SVG. Spuščena datoteka se optimizira takoj, ko pa je rezultat že tu, vsaka sprememba nastavitev samodejno znova požene optimizacijo.
- Preveri vrednosti Izvirna velikost, Optimizirana velikost, Prihranek in Gzip, nato primerjaj obe risbi drugo ob drugi.
- Klikni Kopiraj, da kopiraš Optimizirano kodo SVG, ali Prenesi optimiziran SVG, da jo shraniš kot
ime.min.svg.
Optimizacijo izvaja SVGO 4, standardni odprtokodni (MIT) optimizator SVG, ki se uporablja v večini spletnih orodij za gradnjo. Njegova brskalniška različica se naloži ob prvem kliku in teče v celoti v tvoji napravi: tvoj SVG se nikoli ne naloži na strežnik.
Zakaj so datoteke SVG iz oblikovalskih orodij tako težke
SVG, izvožen iz Illustratorja, Inkscapea, Figme ali Sketcha, vsebuje precej več kot samo risbo. Urejevalniki dodajo lastne imenske prostore in atribute (imena plasti, vodila, nastavitve izvoza), blok <metadata>, komentarje, kot je »Generator: Adobe Illustrator«, koordinate s šestimi ali več decimalkami, skupine z enim samim elementom in dolgoveze barve, kot je #ffffff. Nič od tega ne spremeni tistega, kar nariše brskalnik. SVGO to odstrani, zaokroži številke, prepiše podatke poti s krajšimi ukazi, skrajša barve ter združi ali razpakira odvečne elemente. Zmanjšanje za 40–60 % je pri izvoženih ikonah in ilustracijah običajno.
Prednastavitve in tvegani vtičniki
- Varno požene privzeto prednastavitev SVGO, vendar ohrani ID-je,
<desc>, ločene poti in pravila<style>, s 3 decimalkami in enim prehodom. Uporabi jo za SVG, na katere se sklicujeta CSS ali JavaScript, za sprite sheete in animacije. - Uravnoteženo je privzeta prednastavitev SVGO, 3 decimalke, več prehodov. Primerna je za večino ikon in ilustracij, prikazanih kot slike.
- Največ doda Odstrani
, Odstrani skripte in atribute dogodkov, Odstrani width/height (ohrani viewBox) in Zamenjaj xlink:href s href, z 2 decimalkama in več prehodi.
Nobena prednastavitev ne odstrani viewBox. Odstrani viewBox obstaja samo za posebne primere: brez njega se risba ne more več prilagajati velikosti, ki jo podaš v CSS.
Vedi, kaj lahko pokvarijo drugi vtičniki:
- Skrajšaj in odstrani neuporabljene ID-je preimenuje ID-je, kot je
#icon-home, va. Vsak selektor CSS, poizvedba JavaScript, sklic sprite sheeta<use href="#…">, sidro strani ali animacija SMIL/CSS, ki cilja na staro ime, preneha delovati. - Odstrani
in Odstrani izbrišeta dostopno ime in opis. Obdrži ju pri pomembnih ikonah in grafikonih, ki jih mora bralnik zaslona izreči. - Nizka Decimalna natančnost lahko popači majhne ikone: krivulje se zatresejo, robovi zdrsnejo. Vedno preveri vizualno primerjavo; 3 je varna privzeta vrednost.
- Združi poti združi sosednje poti v eno, zato učinek ob prehodu miške ali animacija, ki je ciljala na eno pot, izgubi cilj.
Nasveti
- Obdrži neoptimizirano glavno kopijo za urejanje; z
.min.svgravnaj kot s prevedeno kodo. - Na strežniku omogoči gzip ali brotli: besedilne oblike zapisa, kot je SVG, se zelo dobro stisnejo, vrednost Gzip pa kaže, kaj obiskovalci dejansko prenesejo (prikazana, kadar tvoj brskalnik podpira
CompressionStream). - Vdelan SVG je mogoče oblikovati s CSS in animirati, vendar se ne predpomni posebej; SVG v
<img>se predpomni, a ga ni mogoče oblikovati iz strani.
Pogosta vprašanja
Ali se moj SVG naloži na strežnik?
Ne. SVGO teče v tvojem brskalniku. Edini prenos je koda optimizatorja sama, ob prvi optimizaciji.
Zakaj je predogled prikazan kot slike?
SVG je oblika dokumenta, ki lahko vsebuje JavaScript in nalaga zunanje datoteke. Oba predogleda se izrišeta kot <img> iz lokalnih naslovov blob, v tem načinu pa brskalniki nikoli ne izvajajo skript ali pridobivajo zunanjih virov, zato je predogled nezaupanja vrednega SVG tu varen. Optimizirana koda sama še vedno vsebuje vse skripte, razen če je vklopljen Odstrani skripte in atribute dogodkov (v prednastavitvi Največ je).
Moj optimiziran SVG se ne prilagaja več velikosti. Kaj se je zgodilo?
viewBox je bil verjetno odstranjen, bodisi z Odstrani viewBox bodisi prej z drugim orodjem. Znova optimiziraj izvirnik z izklopljenim tem vtičnikom.
Zakaj moj sprite sheet ikon ali animacija ne deluje več?
Skrajšaj in odstrani neuporabljene ID-je ali Združi poti sta spremenila elemente, na katere se sklicuje tvoja koda. Uporabi prednastavitev Varno, ki obdrži oboje.
Optimizirana datoteka ni manjša. Zakaj?
SVG je verjetno že skrčen. Poskusi Največ ali nižjo Decimalno natančnost in izklopi Lepa oblika (zamaknjen izhod).
Sorodna orodja
- Pretvornik SVG v PNG Pretvori SVG v PNG, JPG ali WebP pri poljubni širini, višini, povečavi ali DPI, s prosojnim ali barvnim ozadjem. Več datotek in ZIP, brez nalaganja.
- Pretvornik slike v SVG Pretvori logotip ali risbo PNG ali JPG v vektorske poti SVG v brskalniku. Prednastavitve, število barv in filter pik, varen predogled in prenos, brez nalaganja.
- Stiskanje slik Stisni slike JPG, PNG in WebP z drsnikom kakovosti, primerjaj velikosti pred in po ter paketno obdelaj fotografije brez nalaganja na strežnik.
- Oblikovalnik in zmanjševalnik CSS Uredi neurejen CSS s čistim zamikom ali ga zmanjšaj s csso in poglej velikost pred in po. Deluje v brskalniku; nič se ne naloži na strežnik.