SVG vinner tävlingen när det gäller grafik som skala på webben. Designers och utvecklare väljer SVG istället för ikonfonter, rasterbilder och raster sprites.
Fördelarna med att använda SVG är många men för mig köljer det till skalbarhet.
Att använda SVG kan vara lika enkelt som att kopiera och klistra in den exporterade koden från ett vektorbaserat program. Därifrån ligger problemet med att leverera den grafiken på det mest effektiva sättet.
Ange SVG sprites. Dessa fungerar i ett liknande mönster som bildsprites, men hur de skapas och ingår på en webbsida är väldigt olika.
Sprites hjälper till att öka hastigheten, upprätthålla en konsekvent utvecklings arbetsflöde och göra skapandet av ikoner mycket snabbare. SVG sprites skapas typiskt med hjälp av ikoner med liknande form eller form medan grafik med större skala är engångsapplikationer.
I många fall kommer en ikonbibliotek att skala i storlek. Att lägga till nya ikoner behöver vara effektiv och i sista hand lätt. SVG sprites hjälper till att göra detta till en verklighet.
SVG kan exporteras från ditt favorit vektorgrafikprogram. Jag brukar använda en mix av verktyg och har funnit att alla har bra stöd för export av SVG. Skiss sticker ut, särskilt för att du kan välja en ikon eller ett grafik och tryck kommandot + c och ha den SVG-koden kopierad till ditt urklipp. Då kan du gå till kodredigeraren, klistra in koden och få grafiken att visas före dina ögon i webbläsaren.
Tyvärr, om du skulle kopiera och klistra in från Sketch kan du upptäcka att koden är suboptimal och kan optimeras optimalt. Det finns några verktyg för det.
Om du använder Sketch i synnerhet, kolla in SVGO Kompressor plugin . När du exporterar SVGs optimerar plugin automatiskt dem innan du sparar filen.
Om du inte använder Sketch kolla in samma funktionalitet i appformulär eller om du föredrar webappar, Jake Archibald sätta ihop en för dig .
Skapa ett SVG-sprite kan göras manuellt. Du behöver ett vektordesignprogram som kan generera SVG-kod. För detta använder jag Sketch och exporterar några ikoner som SVG.
Efter att jag exporterat ikonerna och kör dem via SVGO Compressor-plugin, lämnas jag med följande för varje ikon. Observera att vid varje tillfälle varje ikon är en separat fil:
Nu när våra SVGs är alla optimerade kan vi börja skapa sprite med koden ovan. För att skapa en sprite börja med omgivningen
SVG Sprites
Lägg märke till hur SVG har en inline-stil på displayen: ingen . Detta krävs för att korrekt kunna använda SVG sprites. Även om ikonerna inte kommer att ge på sidan kommer en stor mängd utrymme att bli. För att undvika det extra utrymme som SVG skapar, döljer vi SVG med CSS.
Att helt enkelt inkludera koden från ikonerna är inte tillräcklig just nu. Vi måste använda sig av a
Element definierade inuti
Den sista sprite liknar följande kod:
SVG Sprites