Kaikki komponentit

MotionZoom

Kuva, joka zoomautuu paikaltaan koko näytölle; sulje vetämällä se pois.

WebReact NativePeitot

Kokeile

Valmistellaan esimerkkiä…

Lyhin käyttö

Photo.jsx
<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ä.
  • zoomSrc hä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

PropTyyppiOletusKuvaus
srcstringPaikallaan näytettävä kuva.
zoomSrcstringSuurempi kuva, joka näytetään latauduttuaan; säilytä sama kuvasuhde.
marginnumber24Zoomatun kuvan ympärille jätettävä tila pikseleinä.
disabledbooleanfalsePoistaa zoomauksen käytöstä.
onZoomChange(zoomed) => voidSuoritetaan true-arvolla zoomattaessa ja false-arvolla suljettaessa.
backdropStyleCSSPropertiesTaustan inline-tyyli.
transitionTransitionspringTiming-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.

Käytetty näissä esimerkeissä

Haku

Kirjoita hakeaksesi dokumentaatiosta.