MotionZoom
Μια εικόνα που μεγεθύνεται από τη θέση της σε πλήρη οθόνη· σύρετέ την μακριά για να κλείσει.
WebReact NativeΕπικαλύψεις
Δοκιμάστε το
Προετοιμασία παραδείγματος…
Η πιο σύντομη χρήση
<MotionZoom
src={photo.thumb}
zoomSrc={photo.full}
width={240}
height={160}
style={{ objectFit: 'cover', borderRadius: 12 }}
/>;Τι αναλαμβάνει για εσάς
- Ένα κλικ, Enter ή Space μεγεθύνει την εικόνα από εκεί που είναι ώστε να γεμίσει την οθόνη μέσα στο
margin. - Το μεγεθυσμένο αντίγραφο ξεκινά ακριβώς όπως φαίνεται η μικρογραφία, με την περικοπή
object-fitκαι την ακτίνα γωνιών της. - Το
zoomSrcεμφανίζεται σταδιακά μόλις φορτωθεί. - Ένα κλικ, Escape ή σύρση μακριά την κλείνει· μια γρήγορη ρίψη την κλείνει επίσης, και μια σύντομη σύρση επιστρέφει με ελατήριο.
Χρησιμοποιήστε το για
- Ένα πλέγμα φωτογραφιών.
- Μια γκαλερί προϊόντων.
- Εικόνες μέσα σε άρθρο ιστολογίου.
Props
| Prop | Τύπος | Προεπιλογή | Περιγραφή |
|---|---|---|---|
src | string | Η εικόνα που εμφανίζεται στη θέση της. | |
zoomSrc | string | Μια μεγαλύτερη εικόνα που εμφανίζεται μόλις φορτωθεί· κρατήστε τον ίδιο λόγο διαστάσεων. | |
margin | number | 24 | Χώρος που αφήνεται γύρω από τη μεγεθυσμένη εικόνα σε pixels. |
disabled | boolean | false | Απενεργοποιεί το ζουμ. |
onZoomChange | (zoomed) => void | Εκτελείται με true όταν μεγεθύνεται και false όταν κλείνει. | |
backdropStyle | CSSProperties | Inline στυλ για το φόντο. | |
transition | Transition | spring | Μια καμπύλη timing { duration, easing } ή ένα ελατήριο { tempo: 'spring', spring }. Τα ελατήρια κρατούν την ορμή τους όταν διακόπτονται. |
Τα υπόλοιπα props πηγαίνουν στο στοιχείο που αποδίδεται, οπότε τα className, style και οι χειριστές συμβάντων λειτουργούν κανονικά.
Web και React Native
Η επικάλυψη υπάρχει μόνο όσο είναι μεγεθυσμένη (ένα dialog στο ανώτατο επίπεδο στο web), οπότε η εικόνα μπορεί να βρίσκεται οπουδήποτε, ακόμη και μέσα σε παράγραφο. Τα υπόλοιπα props πηγαίνουν στο img.
Στο React Native δώστε source και zoomSource· η επικάλυψη είναι ένα διαφανές Modal.