# Masonry flow

https://fieldbook.lizardi.mx/zh/components/masonry-flow

分类：布局
缩略图：https://fieldbook.lizardi.mx/thumbs/masonry-flow.webp

Masonry flow：瀑布流将不同高度磁贴排列成多列，各磁贴滚入视口时抬升入场，列数变化时整个网格重新落位。

## 框架

react、vue、svelte、astro、html

## 预览控件

这些控件会传给演示组件。默认值和限制描述的是预览；完整的属性接口请查看实现代码。

| 名称 | 类型 | 默认值 | 选项或限制 |
| --- | --- | --- | --- |
| columns | number | 3 | 范围 2 至 5；步长 1 |
| gap | number | 12 | 范围 4 至 24；步长 1 |

## 使用说明

Masonry flow 的预览采用「宽幅」布局，主题设置为「深色」。

### Masonry flow 提供哪些框架版本？

Masonry flow 提供 React、Vue、Svelte、Astro、HTML 版本。实时预览使用 React；以下代码观察仅针对 index.tsx。使用其他版本前，请确认其交互行为。

### Masonry flow 有哪些依赖？

React 元数据列出的额外 npm 依赖为：motion、clsx、tailwind-merge。

### Masonry flow 的代码中有哪些无障碍细节？

Masonry flow 的 React 代码包含：属性与事件处理器（aria-hidden、aria-label、tabIndex）；显式角色（region）。这些信息来自代码观察。请在组合后的页面中验证无障碍名称、焦点顺序和键盘行为。

### Masonry flow 如何处理减少动态效果的偏好？

Masonry flow 的 React 代码通过 useReducedMotion() 读取动态效果偏好。index.tsx 中随偏好变化的表达式：settled &amp;&amp; !reduce ? REFLOW : \{ duration: 0 \}；transition: reduce ? "none" : \`opacity 600ms $\{EASE\} $\{s.delay\}s, transform 680ms $\{EASE\} $\{s.delay\}s\`。请启用减少动态效果，检查完整实现、共享样式和所选框架版本；这些观察不能证明所有动画都会停止。

## 通过 MCP 安装

连接客户端，调用 get_component 获取实现，再调用 get_install_command 获取安装说明。选择已列出的框架，将源代码集成到应用中并验证功能。

```json
{
  "tool": "get_component",
  "arguments": {
    "slug": "masonry-flow",
    "framework": "react"
  }
}
```

[面向智能体](https://fieldbook.lizardi.mx/zh/docs/agents)
[MCP](https://fieldbook.lizardi.mx/api/mcp)

## 相关开放组件

- [Focus scroll list](https://fieldbook.lizardi.mx/zh/components/focus-scroll-list)
- [Settling photo masonry](https://fieldbook.lizardi.mx/zh/components/settling-photo-masonry)
- [Curved Scroll Wall](https://fieldbook.lizardi.mx/zh/components/curved-scroll-wall)
- [Drag split panels](https://fieldbook.lizardi.mx/zh/components/drag-split-panels)
- [Masked reveal disclosure](https://fieldbook.lizardi.mx/zh/components/masked-reveal-disclosure)
- [Overlay scroll panel](https://fieldbook.lizardi.mx/zh/components/overlay-scroll-panel)
