MotionZoom
Kuva, joka zoomautuu paikaltaan koko näytölle; sulje vetämällä se pois.
WebReact NativePeitot
Kokeile
Valmistellaan esimerkkiä…
Lyhin käyttö
<MotionZoom
src={photo.thumb}
zoomSrc={photo.full}
width={240}
height={160}
style={{ objectFit: 'cover', borderRadius: 12 }}
/>;Mitä se hoitaa puolestasi
- Napsautus, Enter tai Space zoomaa kuvan paikaltaan täyttämään näytön
margin-arvon sisällä. - Zoomattu kopio alkaa täsmälleen pikkukuvan näköisenä, sen
object-fit-rajauksella ja kulmasäteellä. zoomSrchäivytetään esiin, kun se on latautunut.- Napsautus, Esc tai pois vetäminen sulkee sen; nopea heitto sulkee myös, ja lyhyt veto palaa jousella.
Käytä sitä
- Valokuvaruudukko.
- Tuotegalleria.
- Blogikirjoituksen kuvat.
Props
| Prop | Tyyppi | Oletus | Kuvaus |
|---|---|---|---|
src | string | Paikallaan näytettävä kuva. | |
zoomSrc | string | Suurempi kuva, joka näytetään latauduttuaan; säilytä sama kuvasuhde. | |
margin | number | 24 | Zoomatun kuvan ympärille jätettävä tila pikseleinä. |
disabled | boolean | false | Poistaa zoomauksen käytöstä. |
onZoomChange | (zoomed) => void | Suoritetaan true-arvolla zoomattaessa ja false-arvolla suljettaessa. | |
backdropStyle | CSSProperties | Taustan inline-tyyli. | |
transition | Transition | spring | Timing-käyrä { duration, easing } tai jousi { tempo: 'spring', spring }. Jouset säilyttävät liikemääränsä keskeytettäessä. |
Muut props-arvot menevät renderöidylle elementille, joten className, style ja tapahtumankäsittelijät toimivat tavalliseen tapaan.
Web ja React Native
Peitto on olemassa vain zoomattuna (webissä ylimmän tason dialogi), joten kuva voi olla missä tahansa, jopa kappaleen sisällä. Muut props-arvot menevät img-elementille.
React Nativessa anna source ja zoomSource; peitto on läpinäkyvä Modal.