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
<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. zoomSrctonas 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
| Prop | Typ | Standard | Beskrivning |
|---|---|---|---|
src | string | Bilden som visas på plats. | |
zoomSrc | string | En större bild som visas när den lästs in; behåll samma bildförhållande. | |
margin | number | 24 | Avstånd runt den inzoomade bilden i pixlar. |
disabled | boolean | false | Stänger av zoomning. |
onZoomChange | (zoomed) => void | Körs med true vid inzoomning och false vid stängning. | |
backdropStyle | CSSProperties | Inline-style för bakgrunden. | |
transition | Transition | spring | En 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.