MotionZoom
Gambar yang membesar dari tempatnya ke layar penuh; seret menjauh untuk menutup.
WebReact NativeOverlay
Coba
Menyiapkan contoh…
Penggunaan terpendek
<MotionZoom
src={photo.thumb}
zoomSrc={photo.full}
width={240}
height={160}
style={{ objectFit: 'cover', borderRadius: 12 }}
/>;Yang ditanganinya untuk Anda
- Klik, Enter, atau Space membesarkan gambar dari tempatnya hingga memenuhi layar di dalam
margin. - Salinan yang diperbesar dimulai persis seperti tampilan thumbnail, dengan potongan
object-fitdan radius sudutnya. zoomSrcmuncul perlahan setelah dimuat.- Klik, Escape, atau menyeret menjauh menutupnya; lemparan cepat juga menutup, dan seretan pendek memantul kembali.
Gunakan untuk
- Grid foto.
- Galeri produk.
- Gambar di dalam artikel blog.
Props
| Prop | Tipe | Bawaan | Deskripsi |
|---|---|---|---|
src | string | Gambar yang ditampilkan di tempatnya. | |
zoomSrc | string | Gambar lebih besar yang ditampilkan setelah dimuat; pertahankan rasio aspek yang sama. | |
margin | number | 24 | Ruang di sekitar gambar yang diperbesar dalam piksel. |
disabled | boolean | false | Mematikan zoom. |
onZoomChange | (zoomed) => void | Berjalan dengan true saat diperbesar dan false saat ditutup. | |
backdropStyle | CSSProperties | Gaya inline untuk backdrop. | |
transition | Transition | spring | Kurva timing { duration, easing } atau pegas { tempo: 'spring', spring }. Pegas mempertahankan momentumnya saat diinterupsi. |
Semua props lain diteruskan ke elemen yang dirender, jadi className, style, dan event handler bekerja seperti biasa.
Web dan React Native
Overlay hanya ada selama diperbesar (dialog top layer di web), jadi gambar bisa berada di mana saja, bahkan di dalam paragraf. Semua props lain diteruskan ke img.
Di React Native, berikan source dan zoomSource; overlay-nya Modal transparan.