MotionZoom
Et billede, der zoomer fra sin plads til fuld skærm; træk det væk for at lukke.
WebReact NativeOverlays
Prøv det
Forbereder eksemplet…
Korteste brug
<MotionZoom
src={photo.thumb}
zoomSrc={photo.full}
width={240}
height={160}
style={{ objectFit: 'cover', borderRadius: 12 }}
/>;Det klarer den for dig
- Et klik, Enter eller mellemrum zoomer billedet fra, hvor det er, til det fylder skærmen inden for
margin. - Den zoomede kopi starter præcis, som miniaturen ser ud, med sin
object-fit-beskæring og hjørneradius. zoomSrctoner ind, så snart det er indlæst.- Et klik, Escape eller at trække væk lukker det; et hurtigt kast lukker også, og et kort træk fjedrer tilbage.
Brug den til
- Et fotogitter.
- Et produktgalleri.
- Billeder i et blogindlæg.
Props
| Prop | Type | Standard | Beskrivelse |
|---|---|---|---|
src | string | Billedet, der vises på stedet. | |
zoomSrc | string | Et større billede, der vises, når det er indlæst; behold samme billedformat. | |
margin | number | 24 | Afstand omkring det zoomede billede i pixels. |
disabled | boolean | false | Slår zoom fra. |
onZoomChange | (zoomed) => void | Kører med true ved zoom ind og false ved lukning. | |
backdropStyle | CSSProperties | Inline-style til baggrunden. | |
transition | Transition | spring | En timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes. |
Andre props går til det renderede element, så className, style og event handlers virker som normalt.
Web og React Native
Overlayet findes kun, mens der er zoomet ind (en dialog i det øverste lag på nettet), så billedet kan sidde hvor som helst, selv i et afsnit. Andre props går til img.
Giv source og zoomSource i React Native; overlayet er en gennemsigtig Modal.