Všechny komponenty

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í

Photo.jsx
<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-fit a zaoblením rohů.
  • zoomSrc se 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

PropTypVýchozíPopis
srcstringObrázek zobrazený na místě.
zoomSrcstringVětší obrázek zobrazený po načtení; zachovejte stejný poměr stran.
marginnumber24Mezera kolem přiblíženého obrázku v pixelech.
disabledbooleanfalseVypne přiblížení.
onZoomChange(zoomed) => voidSpustí se s true při přiblížení a false při zavření.
backdropStyleCSSPropertiesInline styl pozadí.
transitionTransitionspringKř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.

Použito v těchto příkladech

Hledat

Pište a hledejte v dokumentaci.