Alla komponenter

MotionZoom

En bild som zoomar från sin plats till helskärm; dra bort den för att stänga.

WebbReact NativeÖverlägg

Prova

Förbereder exemplet…

Kortaste användning

Photo.jsx
<MotionZoom
  src={photo.thumb}
  zoomSrc={photo.full}
  width={240}
  height={160}
  style={{ objectFit: 'cover', borderRadius: 12 }}
/>;

Det här sköter den åt dig

  • Ett klick, Enter eller mellanslag zoomar bilden från där den är tills den fyller skärmen inom margin.
  • Den inzoomade kopian börjar exakt som miniatyren ser ut, med sin object-fit-beskärning och hörnradie.
  • zoomSrc tonas in så snart den har lästs in.
  • Ett klick, Escape eller att dra bort stänger den; ett snabbt kast stänger också, och en kort dragning fjädrar tillbaka.

Använd den för

  • Ett fotorutnät.
  • Ett produktgalleri.
  • Bilder i ett blogginlägg.

Props

PropTypStandardBeskrivning
srcstringBilden som visas på plats.
zoomSrcstringEn större bild som visas när den lästs in; behåll samma bildförhållande.
marginnumber24Avstånd runt den inzoomade bilden i pixlar.
disabledbooleanfalseStänger av zoomning.
onZoomChange(zoomed) => voidKörs med true vid inzoomning och false vid stängning.
backdropStyleCSSPropertiesInline-style för bakgrunden.
transitionTransitionspringEn timingkurva { duration, easing } eller en fjäder { tempo: 'spring', spring }. Fjädrar behåller sitt momentum när de avbryts.

Andra props går till det renderade elementet, så className, style och händelsehanterare fungerar som vanligt.

Webb och React Native

Överlägget finns bara medan bilden är inzoomad (en dialog i det översta lagret på webben), så bilden kan sitta var som helst, även i ett stycke. Andra props går till img.

Skicka source och zoomSource i React Native; överlägget är en genomskinlig Modal.

Används i de här exemplen

Sök

Skriv för att söka i dokumentationen.