MotionZoom
תמונה שמתקרבת מהמקום שלה למסך מלא; גררו אותה הצידה כדי לסגור.
אינטרנטReact Nativeשכבות־על
נסו את זה
מכין את הדוגמה…
השימוש הקצר ביותר
<MotionZoom
src={photo.thumb}
zoomSrc={photo.full}
width={240}
height={160}
style={{ objectFit: 'cover', borderRadius: 12 }}
/>;מה הוא עושה בשבילכם
- לחיצה, Enter או רווח מגדילים את התמונה מהמקום שלה עד שהיא ממלאת את המסך בתוך
margin. - העותק המוגדל מתחיל בדיוק כמו שהתמונה הממוזערת נראית, עם החיתוך של
object-fitורדיוס הפינות. zoomSrcמופיע בהדרגה ברגע שנטען.- לחיצה, Escape או גרירה הצידה סוגרים; גם זריקה מהירה סוגרת, וגרירה קצרה קופצת בחזרה.
מתאים ל־
- רשת תמונות.
- גלריית מוצרים.
- תמונות בתוך פוסט בבלוג.
Props
| Prop | טיפוס | ברירת מחדל | תיאור |
|---|---|---|---|
src | string | התמונה שמוצגת במקומה. | |
zoomSrc | string | תמונה גדולה יותר שמוצגת ברגע שנטענה; שמרו על אותו יחס גובה־רוחב. | |
margin | number | 24 | מרווח שנשמר סביב התמונה המוגדלת בפיקסלים. |
disabled | boolean | false | מכבה את הזום. |
onZoomChange | (zoomed) => void | רץ עם true כשמוגדל ועם false כשנסגר. | |
backdropStyle | CSSProperties | סגנון מוטבע לרקע. | |
transition | Transition | spring | עקומת timing { duration, easing } או קפיץ { tempo: 'spring', spring }. קפיצים שומרים על התנופה שלהם כשמפריעים להם. |
props אחרים עוברים לאלמנט המרונדר, כך ש־className, style ומטפלי אירועים עובדים כרגיל.
אינטרנט ו־React Native
שכבת־העל קיימת רק בזמן הזום (באינטרנט, dialog בשכבה העליונה), כך שהתמונה יכולה לשבת בכל מקום, אפילו בתוך פסקה. props אחרים עוברים ל־img.
ב־React Native העבירו source ו־zoomSource; שכבת־העל היא Modal שקוף.