MotionZoom
Obrázek, který se ze svého místa přiblíží na celou obrazovku; odtažením ho zavřete.
WebReact NativePřekryvy
Vyzkoušejte
Příprava příkladu…
Nejkratší použití
<MotionZoom
src={photo.thumb}
zoomSrc={photo.full}
width={240}
height={160}
style={{ objectFit: 'cover', borderRadius: 12 }}
/>;Co za vás vyřeší
- Kliknutí, Enter nebo mezerník přiblíží obrázek z místa, kde je, až vyplní obrazovku v mezích
margin. - Přiblížená kopie začne přesně tak, jak vypadá náhled, s ořezem
object-fita zaoblením rohů. zoomSrcse plynule objeví, jakmile se načte.- Kliknutí, Escape nebo odtažení ho zavře; zavře ho i rychlý hod, zatímco krátké tažení se pružně vrátí.
Použijte pro
- Mřížka fotek.
- Galerie produktů.
- Obrázky v příspěvku na blogu.
Props
| Prop | Typ | Výchozí | Popis |
|---|---|---|---|
src | string | Obrázek zobrazený na místě. | |
zoomSrc | string | Větší obrázek zobrazený po načtení; zachovejte stejný poměr stran. | |
margin | number | 24 | Mezera kolem přiblíženého obrázku v pixelech. |
disabled | boolean | false | Vypne přiblížení. |
onZoomChange | (zoomed) => void | Spustí se s true při přiblížení a false při zavření. | |
backdropStyle | CSSProperties | Inline styl pozadí. | |
transition | Transition | spring | Křivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost. |
Ostatní props jdou do renderovaného prvku, takže className, style a obsluhy událostí fungují jako obvykle.
Web a React Native
Překryv existuje jen během přiblížení (na webu dialog v horní vrstvě), takže obrázek může být kdekoli, i uvnitř odstavce. Ostatní props jdou do img.
V React Native předejte source a zoomSource; překryv je průhledný Modal.