Alle Komponenten

MotionZoom

Ein Bild, das von seinem Platz auf Vollbild zoomt; zum Schließen wegziehen.

WebReact NativeOverlays

Ausprobieren

Beispiel wird vorbereitet…

Kürzeste Nutzung

Photo.jsx
<MotionZoom
  src={photo.thumb}
  zoomSrc={photo.full}
  width={240}
  height={160}
  style={{ objectFit: 'cover', borderRadius: 12 }}
/>;

Was sie dir abnimmt

  • Ein Klick, Enter oder Leertaste zoomt das Bild von seiner Position aus, bis es den Bildschirm innerhalb von margin füllt.
  • Die vergrößerte Kopie startet genau so, wie das Vorschaubild aussieht – mit object-fit-Ausschnitt und Eckenradius.
  • zoomSrc blendet ein, sobald es geladen ist.
  • Ein Klick, Escape oder Wegziehen schließt es; ein schneller Wurf auch, und kurzes Ziehen federt zurück.

Gut für

  • Ein Fotoraster.
  • Eine Produktgalerie.
  • Bilder in einem Blogartikel.

props

PropTypStandardBeschreibung
srcstringDas an Ort und Stelle gezeigte Bild.
zoomSrcstringEin größeres Bild, das nach dem Laden angezeigt wird; behalte dasselbe Seitenverhältnis.
marginnumber24Freiraum um das vergrößerte Bild in Pixeln.
disabledbooleanfalseSchaltet den Zoom aus.
onZoomChange(zoomed) => voidLäuft mit true beim Vergrößern und false beim Schließen.
backdropStyleCSSPropertiesInline-Style für den Hintergrund.
transitionTransitionspringEine Timing-Kurve { duration, easing } oder eine Feder { tempo: 'spring', spring }. Federn behalten bei Unterbrechung ihren Schwung.

Weitere props gehen an das gerenderte Element, also funktionieren className, style und Event-Handler wie gewohnt.

Web und React Native

Das Overlay existiert nur während des Zooms (im Web ein Dialog im Top Layer), daher kann das Bild überall sitzen, sogar in einem Absatz. Weitere props gehen an das img.

Unter React Native übergibst du source und zoomSource; das Overlay ist ein transparentes Modal.

Verwendet in diesen Beispielen

Suchen

Tippe, um die Dokumentation zu durchsuchen.