SVG-mønstre gir en mer fleksibel tilnærming til å gjenta et bakgrunnsbilde på en nettside enn CSS-fliser. La oss se på hvorfor det er, og hvordan du kan bruke dem.
Denne opplæringen er tilgjengelig i både video og tekstform, her er en oversikt over hva du skal lære:
La oss begynne med å sjekke ut CSS-fliser - den mer tradisjonelle metoden for å gjenta et bilde for en bakgrunn. Ideen er enkel: Vi sender en URL til bakgrunn
Egenskapen til elementet vi ønsker å dekke. Nettadressen peker på en bildefil, i dette tilfellet en PNG-fil. Som standard gjentar vårt bilde langs begge aksene.
kropp bakgrunn: url ("cuadros.png");
Slik ser det ut:
La oss nå se på SVG-mønstre - noe som, når det først oppstod, er litt vanskeligere å forstå. Vi begynner med å håndkode et eksempel.
For en oppdatering på hvordan å håndkode alle de ulike delene av en SVG, er disse to nybegynnerens opplæringsprogrammer av Kezz Bracey veldig hjelpsomme:
For å starte opp, lager vi et svg-element som gir den en høyde og bredde på 100% slik at den inntar hvilken beholder vi plasserer den i.
Å opprette en mønster
vi må plassere den i defs
(definisjoner) delen av svg, slik som:
La oss nå legge til noen attributter til det mønsterelementet. Vi gir den en ID slik at vi kan referere til den senere, da vil vi angi start X- og Y-koordinater, bredde og høydeverdier, og angi at patternUnits
er UserSpaceOnUse
(dette definerer koordinatsystemet, som du kan lese mer om på MDN):
Etter å ha satt opp disse parameterne, må vi nå definere bildet som vil gjenta. La oss lage en grunnleggende sirkel:
Ingen mønster vil fremdeles være synlig, men det er fordi vi har definert det uten egentlig søknad det til noe. La oss endre det ved å bruke det på en
utenfor vår
.
Viktigst, du vil se fylle
Attributt (som vanligvis kan være en fargeverdi eller et navn) peker på en nettadresse som inneholder IDen til vårt nylig definerte mønster: fylle = "url (# polka-prikker)"
.
Sjekk ut demoen nedenfor:
For et mer komplisert eksempel skal vi forlate håndkoding bak og generere et mønster ved hjelp av et tredjepartsverktøy. Vi bruker heropatterns.com, et nettsted som lar deg velge forhåndsdefinerte SVG-mønstre, endre deres farger og attributter, og kopier deretter den genererte koden.
Jeg skal bruke stikksagsmønsteret:
I stedet for å kopiere den genererte CSS i sin helhet, skal jeg bare kopiere d = ""
parameter, som er den faktiske banen tegnet.
SVG-koden vi oppretter, vil være nesten nøyaktig den samme som vår tidligere eksempel. IDen i
vil være annerledes selvsagt, og vi gir det litt forskjellige dimensjoner i henhold til hva som brukes på heropatterner.
Så hvor, i vårt siste eksempel, definerte vi a
, denne gangen definerer vi en
. Vi gir den en fyllfarge, og vi limer inn i banen vi kopierte for et øyeblikk siden. Dette er det som gir oss:
😀 CSS fliseprosjekter:
😡 CSS flisebelegg:
😀 SVG mønsterproffer:
😡 SVG mønster ulemper:
Ta en titt på disse fire ressursene, som kan være veldig nyttige for å generere faktisk kode og ideer!
SVG er en allment støttet teknologi, selv i eldre nettlesere som IE9. Noen SVG-funksjoner, men ikke liker støtte i en slik grad, og det er virkelig ikke mye informasjon tilgjengelig for spesifikkene til
egenskaper (for eksempel patternUnits
, patternContentUnits
, patternTransform
etc.). Det er noen nyttige koblinger nedenfor, inkludert dokumentasjon fra Mozilla-de gir deg en følelse av hvilken informasjon som er tilgjengelig for øyeblikket.
Fra mine egne tester kan jeg fortelle deg at moderne nettlesere på både Windows og Mac OS alle handlet med SVG-mønstre helt fint. Selv ned til IE11.
La oss oppsummere nøkkelpunktene i denne opplæringen.
defs
, sørg for at den har en ID, og referer deretter til ID-en i din form.