Všetky komponenty

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

Photo.jsx
<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-fit a zaoblením rohov.
  • zoomSrc sa 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

PropTypPredvolenéPopis
srcstringObrázok zobrazený na mieste.
zoomSrcstringVäčší obrázok zobrazený po načítaní; zachovajte rovnaký pomer strán.
marginnumber24Medzera okolo priblíženého obrázka v pixeloch.
disabledbooleanfalseVypne priblíženie.
onZoomChange(zoomed) => voidSpustí sa s true pri priblížení a false pri zatvorení.
backdropStyleCSSPropertiesInline štýl pozadia.
transitionTransitionspringKrivka 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.

Použité v týchto príkladoch

Hľadať

Píšte a hľadajte v dokumentácii.