Tất cả component

MotionZoom

Ảnh phóng to từ vị trí của nó ra toàn màn hình; kéo ra xa để đóng.

WebReact NativeLớp phủ

Thử ngay

Đang chuẩn bị ví dụ…

Cách dùng ngắn nhất

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

Những gì nó xử lý giúp bạn

  • Nhấp, Enter hoặc Space phóng ảnh từ chỗ của nó cho đến khi lấp đầy màn hình bên trong margin.
  • Bản phóng to bắt đầu giống hệt ảnh thu nhỏ, với cách cắt object-fit và bo góc của nó.
  • zoomSrc hiện dần khi đã tải xong.
  • Nhấp, Escape hoặc kéo ra xa sẽ đóng nó; hất nhanh cũng đóng, còn kéo ngắn sẽ bật trở lại.

Dùng cho

  • Lưới ảnh.
  • Thư viện sản phẩm.
  • Ảnh trong bài blog.

Props

PropKiểuMặc địnhMô tả
srcstringẢnh hiển thị tại chỗ.
zoomSrcstringẢnh lớn hơn hiển thị khi đã tải xong; hãy giữ cùng tỉ lệ khung hình.
marginnumber24Khoảng trống quanh ảnh phóng to tính bằng pixel.
disabledbooleanfalseTắt phóng to.
onZoomChange(zoomed) => voidChạy với true khi phóng to và false khi đóng.
backdropStyleCSSPropertiesStyle nội tuyến cho lớp nền.
transitionTransitionspringĐường cong timing { duration, easing } hoặc lò xo { tempo: 'spring', spring }. Lò xo giữ đà khi bị ngắt.

Các props khác được chuyển tới phần tử được render, nên className, style và trình xử lý sự kiện hoạt động như bình thường.

Web và React Native

Lớp phủ chỉ tồn tại khi đang phóng to (một dialog ở top layer trên web), nên ảnh có thể nằm ở bất cứ đâu, kể cả trong một đoạn văn. Các props khác chuyển tới img.

Trên React Native, truyền source và zoomSource; lớp phủ là một Modal trong suốt.

Được dùng trong các ví dụ này

Tìm kiếm

Gõ để tìm trong tài liệu.