I dette raske tipset skal vi bryte ned nøyaktig hva viewport og ViewBox
er i SVG. Du lærer:
ViewBox
La oss begynne!
Hvis du bokstavelig talt bryter ordet "viewport" får du et snev om sin rolle i SVG; det skaper en "port" der du kan "vise" en del av en SVG. Du kan forestille deg dette som å være noe som ligner på et porthole-vindu som du kan se verden utover.
SVG-visningsporten er som et porthole-vindu, hvis størrelse bestemmer hva du kan se gjennom detSom med et vindu, bestemmer størrelsen på visningsporten hvor mye du kan se, men det definerer ikke størrelsen på det som kan være synlig gjennom visningsporten. Det som på den andre siden kan teoretisk sett være noen størrelse i det hele tatt.
For eksempel kan du ha en form på grafikken din som er 100px
av 100px
, men hvis du setter visningsporten til 50 piksler
av 50 piksler
Du ser bare en del av den formen. Visningsstørrelsen er satt ved å legge til bredde
og høyde
attributter til svg
element, slik som:
I den første SVG ser vi hele 100px
av 100px
sirkel, men i den andre SVG når vi setter vår visningsportstørrelse til 50 piksler
av 50 piksler
vi ser bare et fjerdedel av sirkelen.
De ViewBox
kan tenkes like mye som visningsporten, men med to ekstra funksjoner: den kan "panorere" og den kan "zoome". Bygg på "se gjennom glass" -analogi, hvis visningsporten er som et vindu, vil ViewBox
er som et teleskop.
Vi kontrollerer ViewBox
ved å legge den til som et attributt til svg
element, med en verdi som består av fire plassavskilte tall:
viewBox =
De to første tallene definerer posisjonen til ViewBox
, som vi vil tenke på som "panorering". De to siste tallene definerer dimensjonene til ViewBox
, som vi tenker på som "zooming".
Merk: samt svg
element, the ViewBox
Attributt kan også brukes på elementene symbol
, markør
, mønster
og utsikt
.
Vi starter med å se på "zoome", som vi kan gjøre med de to siste ViewBox
parametere: bredde
og høyde
henholdsvis. Vi legger de to første parameterne til 0 0
for nå.
Hvis de to siste parameterne har samme dimensjoner som visningsporten, er det ingen zooming inn eller ut, slik at ingenting endres. Ta en titt på SVG nummer 3 for eksempel:
Men hvis vi gjør disse to tallene større enn visningsdimensjonene, zoomer vi effektivt ut, og hvis vi gjør dem mindre, zoomer vi inn.
I SVG nummer 4 i eksemplet ovenfor har vi satt ViewBox
bredde
og høyde
til 100
, som er dobbelt så stor som vår visningsport. Dette "zoomer ut" og viser dobbelt innholdet, og derved gjenåpner hele sirkelen.
I den femte SVG vår ViewBox
er satt til a bredde
og høyde
av 25
, som er halvparten av størrelsen på visningsporten vår. Dette "zoomer inn", og viser halvparten av innholdet.
De to første ViewBox
Parametere lar deg "panorere" ved å angi hvor øvre venstre hjørne av ViewBox
bør være. Det første nummeret styrer den horisontale posisjonen, og den andre styrer vertikal posisjon.
Ta en titt på hvordan denne panorering fungerer i dette eksemplet. For å minne deg på, har SVG nummer 3 a 50
av 50
viewport, the ViewBox
er lagt til, men uten panorering eller zooming. Nummer 6 er det samme, men pannet til høyre og ned:
Du kan selvfølgelig både panorere og zoome samtidig, ved å bruke alle fire parametrene samtidig, for eksempel:
Når du bruker ViewBox
attributt, husk å angi visningsportmålene dine også. Hvis du ikke gjør det, vil de standard til 100%, og du vil sannsynligvis ha en overdimensjonert grafikk:
La oss koker alt ned i noen punkter:
ViewBox
ligner på visningsporten, men du kan også bruke den til å "panorere" og "zoome" som et teleskop.bredde
og høyde
parametere på svg
element.ViewBox
til svg
element. Det kan også brukes på elementene symbol
, markør
, mønster
og utsikt
.ViewBox
Attributtens verdi består av fire mellomromparametere.ViewBox
parametere kontroller "panning" og de to siste kontrollen "zooming".ViewBox
dimensjoner, dvs. de to siste parameterne, større enn visningstallet for å "zoome ut" og mindre for å "zoome inn".Jeg håper det bidrar til å klargjøre SVGs noen ganger mørke farvann view
og ViewBox
. Glad SVG skaper!