MotionZoom
Een afbeelding die vanaf haar plek naar volledig scherm zoomt; sleep haar weg om te sluiten.
WebReact NativeOverlays
Probeer het
Voorbeeld voorbereiden…
Kortste gebruik
<MotionZoom
src={photo.thumb}
zoomSrc={photo.full}
width={240}
height={160}
style={{ objectFit: 'cover', borderRadius: 12 }}
/>;Wat het voor je regelt
- Een klik, Enter of spatie zoomt de afbeelding vanaf waar ze staat tot ze het scherm vult binnen
margin. - De ingezoomde kopie begint precies zoals de miniatuur eruitziet, met de
object-fit-uitsnede en hoekradius. zoomSrcfadet in zodra hij is geladen.- Een klik, Escape of wegslepen sluit haar; een snelle worp sluit ook, en een korte sleep veert terug.
Gebruik het voor
- Een fotoraster.
- Een productgalerij.
- Afbeeldingen in een blogpost.
Props
| Prop | Type | Standaard | Beschrijving |
|---|---|---|---|
src | string | De afbeelding die op haar plek wordt getoond. | |
zoomSrc | string | Een grotere afbeelding die wordt getoond zodra ze is geladen; houd dezelfde beeldverhouding. | |
margin | number | 24 | Ruimte rond de ingezoomde afbeelding in pixels. |
disabled | boolean | false | Zet zoomen uit. |
onZoomChange | (zoomed) => void | Draait met true bij inzoomen en false bij sluiten. | |
backdropStyle | CSSProperties | Inline style voor de achtergrond. | |
transition | Transition | spring | Een timingcurve { duration, easing } of een veer { tempo: 'spring', spring }. Veren behouden hun momentum als ze worden onderbroken. |
Andere props gaan naar het gerenderde element, dus className, style en event handlers werken zoals gewoonlijk.
Web en React Native
De overlay bestaat alleen tijdens het zoomen (op het web een dialog in de bovenste laag), dus de afbeelding kan overal staan, zelfs in een alinea. Andere props gaan naar de img.
Geef in React Native source en zoomSource mee; de overlay is een transparante Modal.