MotionZoom
Kép, amely a helyéről teljes képernyőre nagyít; húzza el a bezáráshoz.
WebReact NativeRétegek
Próbálja ki
A példa előkészítése…
A legrövidebb használat
<MotionZoom
src={photo.thumb}
zoomSrc={photo.full}
width={240}
height={160}
style={{ objectFit: 'cover', borderRadius: 12 }}
/>;Amit Ön helyett elintéz
- Kattintás, Enter vagy Space a képet a helyéről addig nagyítja, amíg a
marginhatáron belül kitölti a képernyőt. - A nagyított másolat pontosan úgy indul, ahogy a bélyegkép kinéz, az
object-fitvágásával és a sarok lekerekítésével. - A
zoomSrcbetöltés után beúszik. - Kattintás, Escape vagy elhúzás bezárja; egy gyors dobás is bezárja, a rövid húzás pedig rugóval visszatér.
Mire használja
- Fotórács.
- Termékgaléria.
- Képek egy blogbejegyzésben.
Props
| Prop | Típus | Alapérték | Leírás |
|---|---|---|---|
src | string | A helyben megjelenített kép. | |
zoomSrc | string | Nagyobb kép, amely betöltés után jelenik meg; tartsa meg ugyanazt a képarányt. | |
margin | number | 24 | A nagyított kép körül hagyott hely pixelben. |
disabled | boolean | false | Kikapcsolja a nagyítást. |
onZoomChange | (zoomed) => void | Nagyításkor true, bezáráskor false értékkel fut le. | |
backdropStyle | CSSProperties | A háttér inline stílusa. | |
transition | Transition | spring | Timing-görbe { duration, easing } vagy rugó { tempo: 'spring', spring }. A rugók megszakításkor megtartják a lendületüket. |
A többi props a renderelt elemre kerül, így a className, a style és az eseménykezelők a szokásos módon működnek.
Web és React Native
A réteg csak nagyítás közben létezik (weben egy legfelső rétegbeli párbeszédablak), így a kép bárhol lehet, akár egy bekezdésen belül is. A többi props az img elemre kerül.
React Native alatt adja át a source és a zoomSource értéket; a réteg átlátszó Modal.