MotionZoom
Obrázok, ktorý sa zo svojho miesta priblíži na celú obrazovku; odtiahnutím ho zavriete.
WebReact NativePrekrytia
Vyskúšajte
Príprava príkladu…
Najkratšie použitie
<MotionZoom
src={photo.thumb}
zoomSrc={photo.full}
width={240}
height={160}
style={{ objectFit: 'cover', borderRadius: 12 }}
/>;Čo za vás vyrieši
- Kliknutie, Enter alebo medzerník priblíži obrázok z miesta, kde je, až vyplní obrazovku v medziach
margin. - Priblížená kópia začne presne tak, ako vyzerá náhľad, s orezom
object-fita zaoblením rohov. zoomSrcsa plynulo objaví, len čo sa načíta.- Kliknutie, Escape alebo odtiahnutie ho zavrie; zavrie ho aj rýchly hod, zatiaľ čo krátke ťahanie sa pružne vráti.
Použite na
- Mriežka fotiek.
- Galéria produktov.
- Obrázky v príspevku na blogu.
Props
| Prop | Typ | Predvolené | Popis |
|---|---|---|---|
src | string | Obrázok zobrazený na mieste. | |
zoomSrc | string | Väčší obrázok zobrazený po načítaní; zachovajte rovnaký pomer strán. | |
margin | number | 24 | Medzera okolo priblíženého obrázka v pixeloch. |
disabled | boolean | false | Vypne priblíženie. |
onZoomChange | (zoomed) => void | Spustí sa s true pri priblížení a false pri zatvorení. | |
backdropStyle | CSSProperties | Inline štýl pozadia. | |
transition | Transition | spring | Krivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť. |
Ostatné props idú do renderovaného prvku, takže className, style a obsluhy udalostí fungujú ako obvykle.
Web a React Native
Prekrytie existuje len počas priblíženia (na webe dialog v hornej vrstve), takže obrázok môže byť kdekoľvek, aj vnútri odseku. Ostatné props idú do img.
V React Native odovzdajte source a zoomSource; prekrytie je priehľadný Modal.