这叫啥 UI?
← 返回组件目录

COMPONENT 80 · Motion & Interaction

平移与缩放

Pan and Zoom

也叫Zoomable CanvasPinch to Zoom缩放画布

通过拖动、滚轮、手势或按钮浏览大画布并改变比例。

Navigates a large canvas through panning and changes scale through gestures or controls.

ANATOMY & USAGE

结构与使用建议

组成部分

  • 可视窗口
  • 大型画布
  • 缩放与复位控制

适合使用

  • 地图、图表或大图无法在一个视口完整显示时。

不建议使用

  • 普通页面内容可以自然重排,或缩放会隐藏关键操作时。

键盘与无障碍

  • 提供明确的放大、缩小、复位按钮和键盘方式;播报缩放比例并避免与页面缩放冲突。

DESCRIBE IT TO AI

这样告诉编程助手

实现平移与缩放(Pan and Zoom):通过拖动、滚轮、手势或按钮浏览大画布并改变比例。

MINIMAL RUNNABLE CODE

可复制代码

原生与 React 两套实现,不依赖第三方组件库。

READ ONLY · SAFE TO COPY
<section class="demo stack">
  <div class="canvas-viewport">
    <div class="canvas" tabindex="0" aria-label="可平移与缩放的画布">拖动或用方向键平移</div>
  </div>
  <div class="row">
    <button id="out" aria-label="缩小">−</button>
    <output id="zoom">100%</output>
    <button id="in" aria-label="放大">+</button>
    <button id="reset">复位</button>
  </div>
</section>